/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    background-repeat: no-repeat;
    border-radius: 0;
}
/*
body {
    color: #333333;
    letter-spacing: 0.075em;
}
*/
main {
    display: block;
}
/*
input,
textarea,
select:not([size]),
option {
    padding: 0.75em 1.0em;
}
td,
th {
    padding: 0.25em 1.0em;
}
ul,
ol {
    padding-left: 1.5em;
    list-style-position: outside;
}
ul li { list-style-type: disc; }
ol li { list-style-type: decimal }
input,
textarea,
select,
td,
th {
    border-width: 1px;
    border-style: solid;
    border-color: #cccccc;
}
select,
option,
textarea,
input,
button {
    font-size: 100%;
    background-repeat: no-repeat;
    border-radius: 0;
}
select,
option,
input,
button {
    line-height: 1;
}
*/
select,
option,
textarea,
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="file"],
input[type="date"],
input[type="submit"],
input[type="button"],
input[type="reset"],
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
}
/*
a {
    text-decoration: none;
}
td,
optgroup,
address {
    font-weight: normal;
}
a,
select,
input[type="checkbox"],
input[type="radio"],
input[type="submit"],
input[type="button"],
input[type="reset"],
button {
    cursor: pointer;
}
textarea {
    vertical-align: top;
    overflow: auto;
    resize: vertical;
}
*/
input::-moz-focus-inner,
button::-moz-focus-inner {
    border: 0;
    padding: 0;
}
input[type="search"] {
    box-sizing: content-box;
}
input[type="search"]:focus {
    outline-offset: -2px;
}
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
}

/* 色 */
/*----------------------------------------------------------------------------*/
/* 共通の色 */

/* 文字の色 */

/* 背景の色 */

/* 線の色 */

/* アラート色 */

/* フォーム */

/* モジュールの色 */


/* px数 (変数化しすぎると逆に大変なので極力増やさない) */
/*----------------------------------------------------------------------------*/
/* ヘッダーの高さ */

/* 影 */

/* 行間 */
/* $line-height-text: calc(1em + 10px); */
/* $line-height-title: calc(1em + 10px); */

/* フォント */

/* 「03-mixin.css」を変更したい場合は、「03-mixin-pre-consolidate.css」を変更 */
/*----------------------------------------------------------------------------*/

@font-face {
    font-family: "Alte-Haas-Grotesk-Regular";
    src: url('../font/alte-haas-grotesk/AlteHaasGroteskRegular.ttf');
}
@font-face {
    font-family: "Alte-Haas-Grotesk-Bold";
    src: url('../font/alte-haas-grotesk/AlteHaasGroteskBold.ttf');
}



@font-face {
    font-family: "original-icon-font";
    src: url('../font/original-icon-font.eot');
    src: url('../font/original-icon-font.eot?#iefix') format('eot'),
        url('../font/original-icon-font.woff2') format('woff2'),
        url('../font/original-icon-font.woff') format('woff'),
        url('../font/original-icon-font.ttf') format('truetype'),
        url('../font/original-icon-font.svg#original-icon-font') format('svg');
    font-weight: normal;
    font-style: normal;
}

.icon::before {
	display: inline-block;
	font-family: "original-icon-font";
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: baseline;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

/* ズレ補正 */
.icon {
    /*
    vertical-align: middle;
    font-size: 110%;
    letter-spacing: 0;
    text-indent: 0;
    */
}
.icon::before {
    /*
    margin: -0.25rem 0 0 0;
    display: inline-block;
    */
}
.icon-angle::before { content: "\EA01"; }
.icon-arrow::before { content: "\EA02"; }
.icon-checkbox-checked-fill::before { content: "\EA03"; }
.icon-checkbox-checked::before { content: "\EA04"; }
.icon-checkbox-round-checked-02-fill::before { content: "\EA05"; }
.icon-checkbox-round-checked-02::before { content: "\EA06"; }
.icon-checkbox-round-checked-fill::before { content: "\EA07"; }
.icon-checkbox-round-checked::before { content: "\EA08"; }
.icon-checkbox-round::before { content: "\EA09"; }
.icon-checkbox::before { content: "\EA0A"; }
.icon-close::before { content: "\EA0B"; }
.icon-dropbox::before { content: "\EA0C"; }
.icon-email::before { content: "\EA0D"; }
.icon-evernote::before { content: "\EA0E"; }
.icon-facebook-simple::before { content: "\EA0F"; }
.icon-facebook::before { content: "\EA10"; }
.icon-feedly::before { content: "\EA11"; }
.icon-google-plus::before { content: "\EA12"; }
.icon-hatena::before { content: "\EA13"; }
.icon-instagram::before { content: "\EA14"; }
.icon-line::before { content: "\EA15"; }
.icon-linkedin::before { content: "\EA16"; }
.icon-outlink-02::before { content: "\EA17"; }
.icon-outlink::before { content: "\EA18"; }
.icon-pinterest::before { content: "\EA19"; }
.icon-pocket::before { content: "\EA1A"; }
.icon-radio-checked-fill::before { content: "\EA1B"; }
.icon-radio-checked::before { content: "\EA1C"; }
.icon-radio::before { content: "\EA1D"; }
.icon-search::before { content: "\EA1E"; }
.icon-tel::before { content: "\EA1F"; }
.icon-time::before { content: "\EA20"; }
.icon-twitter::before { content: "\EA21"; }
.icon-youtube::before { content: "\EA22"; }

@charset "UTF-8";

/* ページャー */
/*---------------------------------------------------*/
/*
.pager li {
    padding: 0 0.5em;
}
.pager a,
.pager a:hover,
.pager span {
    width: 40px;
    height: 40px;
    text-decoration: none;
    color: #111111;
}
.pager .current {
    background: #dddddd;
}
.pager a:hover {
    background: #111111;
    color: #ffffff;
}
*/



/* toggle / tab / popup */
/*---------------------------------------------------*/
/*
.toggle-button,
.parent-tab-button a,
.popup-button a {
    // padding: 15px 20px;
    // border: 1px solid #333333;
    font-weight: normal;
}
.toggle-button,
.popup-button a {
    background-color: transparent;
    color: #333333;
}
.toggle-button.active,
.toggle-button:hover,
.parent-tab-button li a,
.popup-button a:hover {
    // background-color: #333333;
    // color: #ffffff;
    color: #333333;
}
.parent-tab-button li a:hover {
    opacity: 0.7;
}
.toggle-button.active {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.toggle-content,
.parent-tab-content {
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}
.parent-tab-button li a {
    border-left-width: 0;
    border-right-width: 0;
    border-bottom-width: 0;
}
.parent-tab-button li:first-child a {
    border-top-left-radius: 3px;
    border-left-width: 1px;
}
.parent-tab-button li:last-child a {
    border-top-right-radius: 3px;
    border-right-width: 1px;
}
.parent-tab-content {
    border: 1px solid #333333;
    border-top: none;
}
.parent-tab-button li.current a {
    color: #333333;
    background-color: transparent;
}
.parent-popup-content .container {
    // width: 770px;
}
.popup-content > .panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: auto;
}
.popup-content {
    opacity: 0.0;
}
.popup-content.active {
    opacity: 1.0;
}
.popup-content {
    transition: opacity 0.25s ease-in-out 0.4s;
}
.popup-button-close {
    width: 30px;
    height: 30px;
    background: url(../img/icon-close-big.png) no-repeat center center;
    background-size: 30px 30px;
    top: 10px;
    right: 10px;
}
.popup-button-close:hover {
    opacity: 0.35;
}
*/




/* thumbnailボタン */
/*---------------------------------------------------*/
a .thumbnail img {
    -webkit-transform: scale(1.0);
            transform: scale(1.0);
}
a:hover .thumbnail img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
}
/*
@media only screen and (min-width: 480px) {
    // input[type="submit"],
    // input[type="button"],
    // input[type="reset"],
    // button,
    // .button a {
    //     width: auto
    // }
}

@media only screen and (min-width: 770px) {
    input[type="text"],
    input[type="tel"],
    input[type="email"],
    input[type="url"],
    input[type="password"],
    input[type="number"],
    input[type="file"],
    input[type="search"],
    select,
    body select[size="1"],
    select[multiple],
    option,
    textarea {
        padding: 20px;
        // border: 2px solid #eeeeee;
    }

    select[size],
    select[multiple],
    select:not([size]) {
        padding: 20px;
    }

    // input[type="button"],
    // input[type="reset"],
    // input[type="submit"],
    // button,
    // .button > a,
    // .button > span:not(.icon),
    // a.button {
    //     padding: 0.5em 1em;
    //     font-size: 16px;
    // }
}
*/


/* pagerボタン */
/*---------------------------------------------------*/
.pager ul,
.pager ol,
ul.pager ,
ol.pager {
    margin: 0 auto;
    padding: 0;
    display: table;
    border-collapse: separate;
    border-spacing: 1px 0;
}
.pager li,
.pager li {
    display: table-cell;
}
.pager li a,
.pager li span {
/*
    display: table-cell;
    text-align: center;
    vertical-align: middle;
*/
}
.pager li a,
.pager li span {
    min-width: 2em;
    min-height: 2em;
    line-height: 2em;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: center;
            justify-content: center;
}
.pager .first a,
.pager .prev a,
.pager .next a,
.pager .last a {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 15px 15px;
}

/* WordPressの管理者用ヘッダー */
body.logged-in #wpadminbar {
        position: fixed;
        top: 0;
    }
body.logged-in header {
        top: 46px;
    }
body.logged-in header .global-nav nav {
            top: calc(46px + 50px);
        }
body.logged-in .alert-group {
        top: calc(46px + 50px + 5px);
    }

@media only screen and (min-width: 660px) {

}
@media only screen and (min-width: 783px) {
        body.logged-in header {
            top: 32px;
        }

            body.logged-in header .global-nav nav {
                top: calc(32px + 50px);
            }
        body.logged-in .alert-group {
            top: calc(32px + 50px + 5px);
        }

}
@media only screen and (min-width: 1000px) {
    /* body.customize-support header, */
        body.logged-in header .global-nav nav {
            top: auto;
        }
        body.logged-in .alert-group {
            top: calc(32px + 70px + 5px);
        }
}

/* WordPress管理画面対応 */
/*
html.global-nav-active {
    body.customize-support .toggle-content {
        max-height: calc(100vh - 46px - 70px);

        @media only screen and (min-width: 783px) {
            max-height: calc(100vh - 32px - 70px);
        }
    }
}
*/

/* WordPress */
.mw_wp_form form .error {
        padding: 5px 10px;
        background-color: #ee9999;
        color: #ffffff;
    }

/** VARIABLES
===================================*/
/** RESET AND LAYOUT
===================================*/
.bx-wrapper {
  position: relative;
  margin-bottom: 60px;
  padding: 0;
  *zoom: 1;
  touch-action: pan-y;
}
.bx-wrapper img {
  max-width: 100%;
  display: block;
}
.bxslider {
  margin: 0;
  padding: 0;
}
ul.bxslider {
  list-style: none;
}
.bx-viewport {
  /* fix other elements on the page moving (in Chrome) */
  -webkit-transform: translateZ(0);
}
/** THEME
===================================*/
.bx-wrapper {
  box-shadow: 0 0 5px #ccc;
  border: 5px solid #fff;
  background: #fff;
}
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -30px;
  width: 100%;
}
/* LOADER */
.bx-wrapper .bx-loading {
  min-height: 50px;
  background: url('images/bx_loader.gif') center center no-repeat #ffffff;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
}
/* PAGER */
.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-family: Arial;
  font-weight: bold;
  color: #666;
  padding-top: 20px;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background: #666;
  text-indent: -9999px;
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  outline: 0;
  border-radius: 5px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #000;
}
.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}
.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}
/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev {
  left: 10px;
  background: url('images/controls.png') no-repeat 0 -32px;
}
.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-prev:focus {
  background-position: 0 0;
}
.bx-wrapper .bx-next {
  right: 10px;
  background: url('images/controls.png') no-repeat -43px -32px;
}
.bx-wrapper .bx-next:hover,
.bx-wrapper .bx-next:focus {
  background-position: -43px 0;
}
.bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: 50%;
  margin-top: -16px;
  outline: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  z-index: 9999;
}
.bx-wrapper .bx-controls-direction a.disabled {
  display: none;
}
/* AUTO CONTROLS (START / STOP) */
.bx-wrapper .bx-controls-auto {
  text-align: center;
}
.bx-wrapper .bx-controls-auto .bx-start {
  display: block;
  text-indent: -9999px;
  width: 10px;
  height: 11px;
  outline: 0;
  background: url('images/controls.png') -86px -11px no-repeat;
  margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active,
.bx-wrapper .bx-controls-auto .bx-start:focus {
  background-position: -86px 0;
}
.bx-wrapper .bx-controls-auto .bx-stop {
  display: block;
  text-indent: -9999px;
  width: 9px;
  height: 11px;
  outline: 0;
  background: url('images/controls.png') -86px -44px no-repeat;
  margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active,
.bx-wrapper .bx-controls-auto .bx-stop:focus {
  background-position: -86px -33px;
}
/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
  text-align: left;
  width: 80%;
}
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
  right: 0;
  width: 35px;
}
/* IMAGE CAPTIONS */
.bx-wrapper .bx-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #666;
  background: rgba(80, 80, 80, 0.75);
  width: 100%;
}
.bx-wrapper .bx-caption span {
  color: #fff;
  font-family: Arial;
  display: block;
  font-size: .85em;
  padding: 10px;
}

/* UIのカスタマイズ */
/*----------------------------------------------------------------------------------*/
.bx-wrapper .bx-loading {
    background: url(../img/common/loading.png) center center no-repeat;
}
.bx-wrapper .bx-prev,
.bx-wrapper .bx-next {
    background: none;
    display: block;
    position: relative;
}
.bx-wrapper .bx-prev::before,
.bx-wrapper .bx-next::before {
    content: "\e200";
    margin: auto;
    width: 1em;
    height: 1em;
    font-size: 16px;
    font-size: 1rem;
    font-family: 'icon','icon-sns' !important;
    color: #fff;
    text-indent: 0;
    background: none;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
}
.bx-wrapper .bx-prev::before {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
}
.bx-wrapper .bx-next::before {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
}
/*
.bx-wrapper .bx-controls-auto .bx-start {
  display: block;
  text-indent: -9999px;
  width: 10px;
  height: 11px;
  outline: 0;
  background: url('images/controls.png') -86px -11px no-repeat;
  margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-stop {
  display: block;
  text-indent: -9999px;
  width: 9px;
  height: 11px;
  outline: 0;
  background: url('images/controls.png') -86px -44px no-repeat;
  margin: 0 3px;
}
*/

/* .bxsliderを読み込むまでは表示しない */
/*----------------------------------------------------------------------------------*/
.bxslider {
    list-style: none;
    display: block;
}
.bxslider > li {
        list-style: none;
        display: block;
    }
.bx-wrapper .bxslider {
    display: block;
}

/* 余白や装飾の初期化 */
/*----------------------------------------------------------------------------------*/
.bxslider li, .bx-wrapper .bx-viewport li {
        margin: 0;
    }
.bx-wrapper {
    /* initialはIEでは使用不可 */
    /* border: none; */
    /* box-shadow: none; */
    /* background: none; */
}
.bxslider *:not(.thumbnail) > img {
    min-width: 100%;
    min-height: 100%;
}

/* PCで画面を触ると都合が悪いので、マスクを表示 */
/*----------------------------------------------------------------------------------*/

/* マスク */
.bx-wrapper::before {
    z-index: 2000;
}
.bx-viewport {
    z-index: 1000;
}
.bx-controls {
    z-index: 8000;
    position: relative;
}

@media only screen and (min-width: 480px) {

}
@media only screen and (min-width: 660px) {

}
@media only screen and (min-width: 770px) {
    /* マスク */
    .bx-wrapper::before {
        content: "";
        margin: 0;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }
}
@media only screen and (min-width: 1000px) {

}
@media only screen and (min-width: 1300px) {

}

.xdsoft_datetimepicker {
	box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.506);
	background: #fff;
	border-bottom: 1px solid #bbb;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-top: 1px solid #ccc;
	color: #333;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	padding: 8px;
	padding-left: 0;
	padding-top: 2px;
	position: absolute;
	z-index: 9999;
	box-sizing: border-box;
	display: none;
}
.xdsoft_datetimepicker.xdsoft_rtl {
	padding: 8px 0 8px 8px;
}

.xdsoft_datetimepicker iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 75px;
	height: 210px;
	background: transparent;
	border: none;
}

/*For IE8 or lower*/
.xdsoft_datetimepicker button {
	border: none !important;
}

.xdsoft_noselect {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
}

.xdsoft_noselect::-moz-selection { background: transparent }

.xdsoft_noselect::selection { background: transparent }
.xdsoft_noselect::-moz-selection { background: transparent }

.xdsoft_datetimepicker.xdsoft_inline {
	display: inline-block;
	position: static;
	box-shadow: none;
}

.xdsoft_datetimepicker * {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

.xdsoft_datetimepicker .xdsoft_datepicker, .xdsoft_datetimepicker .xdsoft_timepicker {
	display: none;
}

.xdsoft_datetimepicker .xdsoft_datepicker.active, .xdsoft_datetimepicker .xdsoft_timepicker.active {
	display: block;
}

.xdsoft_datetimepicker .xdsoft_datepicker {
	width: 224px;
	float: left;
	margin-left: 8px;
}
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_datepicker {
	float: right;
	margin-right: 8px;
	margin-left: 0;
}

.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker {
	width: 256px;
}

.xdsoft_datetimepicker .xdsoft_timepicker {
	width: 58px;
	float: left;
	text-align: center;
	margin-left: 8px;
	margin-top: 0;
}
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker {
	float: right;
	margin-right: 8px;
	margin-left: 0;
}

.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker {
	margin-top: 8px;
	margin-bottom: 3px
}

.xdsoft_datetimepicker .xdsoft_monthpicker {
	position: relative;
	text-align: center;
}

.xdsoft_datetimepicker .xdsoft_label i,
.xdsoft_datetimepicker .xdsoft_prev,
.xdsoft_datetimepicker .xdsoft_next,
.xdsoft_datetimepicker .xdsoft_today_button {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC);
}

.xdsoft_datetimepicker .xdsoft_label i {
	opacity: 0.5;
	background-position: -92px -19px;
	display: inline-block;
	width: 9px;
	height: 20px;
	vertical-align: middle;
}

.xdsoft_datetimepicker .xdsoft_prev {
	float: left;
	background-position: -20px 0;
}
.xdsoft_datetimepicker .xdsoft_today_button {
	float: left;
	background-position: -70px 0;
	margin-left: 5px;
}

.xdsoft_datetimepicker .xdsoft_next {
	float: right;
	background-position: 0 0;
}

.xdsoft_datetimepicker .xdsoft_next,
.xdsoft_datetimepicker .xdsoft_prev ,
.xdsoft_datetimepicker .xdsoft_today_button {
	background-color: transparent;
	background-repeat: no-repeat;
	border: 0 none;
	cursor: pointer;
	display: block;
	height: 30px;
	opacity: 0.5;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	outline: medium none;
	overflow: hidden;
	padding: 0;
	position: relative;
	text-indent: 100%;
	white-space: nowrap;
	width: 20px;
	min-width: 0;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next {
	float: none;
	background-position: -40px -15px;
	height: 15px;
	width: 30px;
	display: block;
	margin-left: 14px;
	margin-top: 7px;
}
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_prev,
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_next {
	float: none;
	margin-left: 0;
	margin-right: 14px;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev {
	background-position: -40px 0;
	margin-bottom: 7px;
	margin-top: 0;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box {
	height: 151px;
	overflow: hidden;
	border-bottom: 1px solid #ddd;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div {
	background: #f5f5f5;
	border-top: 1px solid #ddd;
	color: #666;
	font-size: 12px;
	text-align: center;
	border-collapse: collapse;
	cursor: pointer;
	border-bottom-width: 0;
	height: 25px;
	line-height: 25px;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div > div:first-child {
	border-top-width: 0;
}

.xdsoft_datetimepicker .xdsoft_today_button:hover,
.xdsoft_datetimepicker .xdsoft_next:hover,
.xdsoft_datetimepicker .xdsoft_prev:hover {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.xdsoft_datetimepicker .xdsoft_label {
	display: inline;
	position: relative;
	z-index: 9999;
	margin: 0;
	padding: 5px 3px;
	font-size: 14px;
	line-height: 20px;
	font-weight: bold;
	background-color: #fff;
	float: left;
	width: 182px;
	text-align: center;
	cursor: pointer;
}

.xdsoft_datetimepicker .xdsoft_label:hover>span {
	text-decoration: underline;
}

.xdsoft_datetimepicker .xdsoft_label:hover i {
	opacity: 1.0;
}

.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select {
	border: 1px solid #ccc;
	position: absolute;
	right: 0;
	top: 30px;
	z-index: 101;
	display: none;
	background: #fff;
	max-height: 160px;
	overflow-y: hidden;
}

.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_monthselect{ right: -7px }
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_yearselect{ right: 2px }
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
	color: #fff;
	background: #ff8000;
}

.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option {
	padding: 2px 10px 2px 5px;
	text-decoration: none !important;
}

.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
	background: #33aaff;
	box-shadow: #178fe5 0 1px 3px 0 inset;
	color: #fff;
	font-weight: 700;
}

.xdsoft_datetimepicker .xdsoft_month {
	width: 100px;
	text-align: right;
}

.xdsoft_datetimepicker .xdsoft_calendar {
	clear: both;
}

.xdsoft_datetimepicker .xdsoft_year{
	width: 48px;
	margin-left: 5px;
}

.xdsoft_datetimepicker .xdsoft_calendar table {
	border-collapse: collapse;
	width: 100%;

}

.xdsoft_datetimepicker .xdsoft_calendar td > div {
	padding-right: 5px;
}

.xdsoft_datetimepicker .xdsoft_calendar th {
	height: 25px;
}

.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th {
	width: 14.2857142%;
	background: #f5f5f5;
	border: 1px solid #ddd;
	color: #666;
	font-size: 12px;
	text-align: right;
	vertical-align: middle;
	padding: 0;
	border-collapse: collapse;
	cursor: pointer;
	height: 25px;
}
.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th {
	width: 12.5%;
}

.xdsoft_datetimepicker .xdsoft_calendar th {
	background: #f1f1f1;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
	color: #33aaff;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default {
	background: #ffe9d2;
	box-shadow: #ffb871 0 1px 4px 0 inset;
	color: #000;
}
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint {
	background: #c1ffc9;
	box-shadow: #00dd1c 0 1px 4px 0 inset;
	color: #000;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
	background: #33aaff;
	box-shadow: #178fe5 0 1px 3px 0 inset;
	color: #fff;
	font-weight: 700;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,
.xdsoft_datetimepicker .xdsoft_time_box >div >div.xdsoft_disabled {
	opacity: 0.5;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	cursor: default;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled {
	opacity: 0.2;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
}

.xdsoft_datetimepicker .xdsoft_calendar td:hover,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover {
	color: #fff !important;
	background: #ff8000 !important;
	box-shadow: none !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current.xdsoft_disabled:hover,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current.xdsoft_disabled:hover {
	background: #33aaff !important;
	box-shadow: #178fe5 0 1px 3px 0 inset !important;
	color: #fff !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_disabled:hover {
	color: inherit	!important;
	background: inherit !important;
	box-shadow: inherit !important;
}

.xdsoft_datetimepicker .xdsoft_calendar th {
	font-weight: 700;
	text-align: center;
	color: #999;
	cursor: default;
}

.xdsoft_datetimepicker .xdsoft_copyright {
	color: #ccc !important;
	font-size: 10px;
	clear: both;
	float: none;
	margin-left: 8px;
}

.xdsoft_datetimepicker .xdsoft_copyright a { color: #eee !important }
.xdsoft_datetimepicker .xdsoft_copyright a:hover { color: #aaa !important }

.xdsoft_time_box {
	position: relative;
	border: 1px solid #ccc;
}
.xdsoft_scrollbar >.xdsoft_scroller {
	background: #ccc !important;
	height: 20px;
	border-radius: 3px;
}
.xdsoft_scrollbar {
	position: absolute;
	width: 7px;
	right: 0;
	top: 0;
	bottom: 0;
	cursor: pointer;
}
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_scrollbar {
	left: 0;
	right: auto;
}
.xdsoft_scroller_box {
	position: relative;
}

.xdsoft_datetimepicker.xdsoft_dark {
	box-shadow: 0 5px 15px -5px rgba(255, 255, 255, 0.506);
	background: #000;
	border-bottom: 1px solid #444;
	border-left: 1px solid #333;
	border-right: 1px solid #333;
	border-top: 1px solid #333;
	color: #ccc;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box {
	border-bottom: 1px solid #222;
}
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div {
	background: #0a0a0a;
	border-top: 1px solid #222;
	color: #999;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label {
	background-color: #000;
}
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select {
	border: 1px solid #333;
	background: #000;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
	color: #000;
	background: #007fff;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
	background: #cc5500;
	box-shadow: #b03e00 0 1px 3px 0 inset;
	color: #000;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==);
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
	background: #0a0a0a;
	border: 1px solid #222;
	color: #999;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
	background: #0e0e0e;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today {
	color: #cc5500;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_default {
	background: #ffe9d2;
	box-shadow: #ffb871 0 1px 4px 0 inset;
	color:#000;
}
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_mint {
	background: #c1ffc9;
	box-shadow: #00dd1c 0 1px 4px 0 inset;
	color:#000;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
	background: #cc5500;
	box-shadow: #b03e00 0 1px 3px 0 inset;
	color: #000;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div:hover {
	color: #000 !important;
	background: #007fff !important;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
	color: #666;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright { color: #333 !important }
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a { color: #111 !important }
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover { color: #555 !important }

.xdsoft_dark .xdsoft_time_box {
	border: 1px solid #333;
}

.xdsoft_dark .xdsoft_scrollbar >.xdsoft_scroller {
	background: #333 !important;
}
.xdsoft_datetimepicker .xdsoft_save_selected {
    display: block;
    border: 1px solid #dddddd !important;
    margin-top: 5px;
    width: 100%;
    color: #454551;
    font-size: 13px;
}
.xdsoft_datetimepicker .blue-gradient-button {
	font-family: "museo-sans", "Book Antiqua", sans-serif;
	font-size: 12px;
	font-weight: 300;
	color: #82878c;
	height: 28px;
	position: relative;
	padding: 4px 17px 4px 33px;
	border: 1px solid #d7d8da;
	/* FF3.6+ */
	/* Chrome,Safari4+ */
	/* Chrome10+,Safari5.1+ */
	/* Opera 11.10+ */
	/* IE10+ */
	background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(73%, #f4f8fa));
	background: linear-gradient(to bottom, #fff 0%, #f4f8fa 73%);
	/* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#f4f8fa',GradientType=0 );
/* IE6-9 */
}
.xdsoft_datetimepicker .blue-gradient-button:hover, .xdsoft_datetimepicker .blue-gradient-button:focus, .xdsoft_datetimepicker .blue-gradient-button:hover span, .xdsoft_datetimepicker .blue-gradient-button:focus span {
  color: #454551;
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: -webkit-gradient(linear, left top, left bottom, from(#f4f8fa), color-stop(73%, #FFF));
  background: linear-gradient(to bottom, #f4f8fa 0%, #FFF 73%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f8fa', endColorstr='#FFF',GradientType=0 );
  /* IE6-9 */
}

/* UIのカスタマイズ */
/*----------------------------------------------------------------------------------*/



/*
body .xdsoft_datetimepicker .xdsoft_next {
    background: none;
    display: block;

    &::before {
        content: "\e200";
        width: 100px;
        height: 100px;
        color: $color-text;
        line-height: 1;
        font-size: 1rem;
        font-family: 'icon','icon-sns' !important;
        transform: translate(0, 0.05em) rotate(90deg);
    }
}

body .xdsoft_datetimepicker .xdsoft_prev {
    background: none;
    display: block;

    &::before {
        content: "\e200";
        width: 100px;
        height: 100px;
        color: $color-text;
        line-height: 1;
        font-size: 1rem;
        font-family: 'icon','icon-sns' !important;
        transform: translate(0, 0.05em) rotate(-90deg);
    }
}
*/
body .xdsoft_datetimepicker .xdsoft_today_button {
    display: none;
}

.datetimepicker-date {
    padding-right: 32px;
    background-image: url(../img/common/icon-calendar-margin.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 32px 16px;
    cursor: pointer;
}
body .xdsoft_calendar table {
            display: table;
        }
body .xdsoft_calendar table thead {
                display: table-header-group;
            }
body .xdsoft_calendar table tbody {
                display: table-row-group;
            }
body .xdsoft_calendar table tfoot {
                display: table-footer-group;
            }
body .xdsoft_calendar table tr {
                display: table-row;
            }
body .xdsoft_calendar table th,
            body .xdsoft_calendar table td {
                display: table-cell;
            }
/*
    .xdsoft_datetimepicker,
    .xdsoft_noselect {
        display: block !important;
    }
    */
body .xdsoft_datetimepicker {
        padding: 10px;
    }
body .xdsoft_datetimepicker .xdsoft_datepicker {
    	width: 260px;
    	float: none;
    	/*\/ margin-left: 8px; */
        margin: 0;
    }
body .xdsoft_datetimepicker.xdsoft_rtl .xdsoft_datepicker {
    	float: none;
    	/* margin-right: 8px; */
    	/* margin-left: 0; */
        margin: 0;
    }
body .xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker {
    	width: 256px;
    }
body .xdsoft_datetimepicker {
        box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2);
    }
body .xdsoft_datetimepicker .xdsoft_year {
        width: 60px;
    }
/* マス */
body .xdsoft_datetimepicker .xdsoft_calendar table,
    body .xdsoft_datetimepicker .xdsoft_calendar thead,
    body .xdsoft_datetimepicker .xdsoft_calendar tbody,
    body .xdsoft_datetimepicker .xdsoft_calendar tfoot {
        border-left: none;
        border-right: none;
    }
/*
    .xdsoft_datetimepicker .xdsoft_label i,
    .xdsoft_datetimepicker .xdsoft_next,
    .xdsoft_datetimepicker .xdsoft_prev,
    .xdsoft_datetimepicker .xdsoft_today_button {
        background: none;

        &::before {
            content: url(../img/common/icon-angle.svg);
            display: block;
        }
    }
    */
body .xdsoft_datetimepicker .xdsoft_calendar td,
    body .xdsoft_datetimepicker .xdsoft_calendar th {
        color: #222;
        border: 1px solid #000000;
        border: 1px solid rgba(0, 0, 0, 0.2);
        border-left: none;
        border-right: none;
    }
/* 見出し */
body .xdsoft_datetimepicker .xdsoft_calendar th {
        border-top-color: transparent;
        border-left-color: transparent;
        border-right-color: transparent;
        background: none;
        height: auto;
    }
body .xdsoft_datetimepicker .xdsoft_calendar td {
        height: 38px;
        text-align: center;
    }
body .xdsoft_datetimepicker .xdsoft_calendar td > div {
        padding: 0;
    }
/* 今日 */
body .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
        background-color: #222 !important;
        color: #fff !important;
        box-shadow: none !important;
        opacity: 0.25;
    }
/* 選択中 */
body .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
    body .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
    body .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current {
        background-color: #28f !important;
        color: #fff !important;
        box-shadow: none !important;
        opacity: 1.0;
    }
/* ホバー */
body .xdsoft_datetimepicker .xdsoft_calendar td:hover,
    body .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div:hover {
        background-color: #049 !important;
        color: #fff !important;
        box-shadow: none !important;
        opacity: 1.0;
    }
/* 前月、翌月 */
body .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,
    body .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,
    body .xdsoft_datetimepicker .xdsoft_time_box > div > div.xdsoft_disabled {
        opacity: 0.25;
    }
/* select */
body .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
        background-color: #28f !important;
        color: #fff !important;
        box-shadow: none !important;
    }
body .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
        background-color: #049 !important;
        color: #fff !important;
        box-shadow: none !important;
        opacity: 1.0;
    }
/*
select,
body select[size="1"] {

    vertical-align: middle;
    -webkit-appearance: none;
    -moz-appearance: none;
    line-height: 1;

    position: relative;
}
*/

/* 便利なCSSを記述 */
/*----------------------------------------------------------------------------*/
:first-child {
    margin-top: 0;
}
:last-child {
    margin-bottom: 0;
}

/* clearfix、回り込み */
/*---------------------------------------------------*/
/*
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    zoom: 1;
}
.float-left { float: left; }
.float-right { float: right; }
.clear { clear: both; }
*/

/* ブロック */
/*---------------------------------------------------*/
.d-block { display: block; }
.d-inline { display: inline; }
.d-inline-block { display: inline-block; }
.d-table { display: table; }
.d-table-cell { display: table-cell; }
.d-flex { display: -webkit-box; display: flex; }

.t-center { text-align: center; }

/* 余白 */
/*---------------------------------------------------*/
.mt-auto { margin-top: auto !important; }
.mt-0 { margin-top: 0px !important; }
.mt-5 { margin-top: 5px !important; }
.mt-10 { margin-top: 10px !important; }
.mt-15 { margin-top: 15px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-30 { margin-top: 30px !important; }
.mt-40 { margin-top: 40px !important; }
.mt-50 { margin-top: 50px !important; }
.mt-60 { margin-top: 60px !important; }
.mt-70 { margin-top: 70px !important; }
.mt-80 { margin-top: 80px !important; }
.mt-90 { margin-top: 90px !important; }
.mt-100 { margin-top: 100px !important; }
.mt-110 { margin-top: 110px !important; }
.mt-120 { margin-top: 120px !important; }
.mt-130 { margin-top: 130px !important; }
.mt-140 { margin-top: 140px !important; }
.mt-150 { margin-top: 150px !important; }
.mt-200 { margin-top: 200px !important; }
.mt-250 { margin-top: 250px !important; }

.mb-auto { margin-bottom: auto !important; }
.mb-0 { margin-bottom: 0px !important; }
.mb-5 { margin-bottom: 5px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-15 { margin-bottom: 15px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-30 { margin-bottom: 30px !important; }
.mb-40 { margin-bottom: 40px !important; }
.mb-50 { margin-bottom: 50px !important; }
.mb-60 { margin-bottom: 60px !important; }
.mb-70 { margin-bottom: 70px !important; }
.mb-80 { margin-bottom: 80px !important; }
.mb-90 { margin-bottom: 90px !important; }
.mb-100 { margin-bottom: 100px !important; }
.mb-110 { margin-bottom: 110px !important; }
.mb-120 { margin-bottom: 120px !important; }
.mb-130 { margin-bottom: 130px !important; }
.mb-140 { margin-bottom: 140px !important; }
.mb-150 { margin-bottom: 150px !important; }
.mb-200 { margin-bottom: 200px !important; }
.mb-250 { margin-bottom: 250px !important; }

.ml-auto { margin-left: auto !important; }
.ml-0 { margin-left: 0px !important; }
.ml-5 { margin-left: 5px !important; }
.ml-10 { margin-left: 10px !important; }
.ml-15 { margin-left: 15px !important; }
.ml-20 { margin-left: 20px !important; }
.ml-30 { margin-left: 30px !important; }
.ml-40 { margin-left: 40px !important; }
.ml-50 { margin-left: 50px !important; }
.ml-60 { margin-left: 60px !important; }
.ml-70 { margin-left: 70px !important; }
.ml-80 { margin-left: 80px !important; }
.ml-90 { margin-left: 90px !important; }
.ml-100 { margin-left: 100px !important; }
.ml-110 { margin-left: 110px !important; }
.ml-120 { margin-left: 120px !important; }
.ml-130 { margin-left: 130px !important; }
.ml-140 { margin-left: 140px !important; }
.ml-150 { margin-left: 150px !important; }
.ml-200 { margin-left: 200px !important; }
.ml-250 { margin-left: 250px !important; }

.mr-auto { margin-right: auto !important; }
.mr-0 { margin-right: 0px !important; }
.mr-5 { margin-right: 5px !important; }
.mr-10 { margin-right: 10px !important; }
.mr-15 { margin-right: 15px !important; }
.mr-20 { margin-right: 20px !important; }
.mr-30 { margin-right: 30px !important; }
.mr-40 { margin-right: 40px !important; }
.mr-50 { margin-right: 50px !important; }
.mr-60 { margin-right: 60px !important; }
.mr-70 { margin-right: 70px !important; }
.mr-80 { margin-right: 80px !important; }
.mr-90 { margin-right: 90px !important; }
.mr-100 { margin-right: 100px !important; }
.mr-110 { margin-right: 110px !important; }
.mr-120 { margin-right: 120px !important; }
.mr-130 { margin-right: 130px !important; }
.mr-140 { margin-right: 140px !important; }
.mr-150 { margin-right: 150px !important; }
.mr-200 { margin-right: 200px !important; }
.mr-250 { margin-right: 250px !important; }

.pt-0 { padding-top: 0px !important; }
.pt-5 { padding-top: 5px !important; }
.pt-10 { padding-top: 10px !important; }
.pt-15 { padding-top: 15px !important; }
.pt-20 { padding-top: 20px !important; }
.pt-30 { padding-top: 30px !important; }
.pt-40 { padding-top: 40px !important; }
.pt-50 { padding-top: 50px !important; }
.pt-60 { padding-top: 60px !important; }
.pt-70 { padding-top: 70px !important; }
.pt-80 { padding-top: 80px !important; }
.pt-90 { padding-top: 90px !important; }
.pt-100 { padding-top: 100px !important; }
.pt-110 { padding-top: 110px !important; }
.pt-120 { padding-top: 120px !important; }
.pt-130 { padding-top: 130px !important; }
.pt-140 { padding-top: 140px !important; }
.pt-150 { padding-top: 150px !important; }
.pt-200 { padding-top: 200px !important; }
.pt-250 { padding-top: 250px !important; }

.pb-0 { padding-bottom: 0px !important; }
.pb-5 { padding-bottom: 5px !important; }
.pb-10 { padding-bottom: 10px !important; }
.pb-15 { padding-bottom: 15px !important; }
.pb-20 { padding-bottom: 20px !important; }
.pb-30 { padding-bottom: 30px !important; }
.pb-40 { padding-bottom: 40px !important; }
.pb-50 { padding-bottom: 50px !important; }
.pb-60 { padding-bottom: 60px !important; }
.pb-70 { padding-bottom: 70px !important; }
.pb-80 { padding-bottom: 80px !important; }
.pb-90 { padding-bottom: 90px !important; }
.pb-100 { padding-bottom: 100px !important; }
.pb-110 { padding-bottom: 110px !important; }
.pb-120 { padding-bottom: 120px !important; }
.pb-130 { padding-bottom: 130px !important; }
.pb-140 { padding-bottom: 140px !important; }
.pb-150 { padding-bottom: 150px !important; }
.pb-200 { padding-bottom: 200px !important; }
.pb-250 { padding-bottom: 250px !important; }

.pl-0 { padding-left: 0px !important; }
.pl-5 { padding-left: 5px !important; }
.pl-10 { padding-left: 10px !important; }
.pl-15 { padding-left: 15px !important; }
.pl-20 { padding-left: 20px !important; }
.pl-30 { padding-left: 30px !important; }
.pl-40 { padding-left: 40px !important; }
.pl-50 { padding-left: 50px !important; }
.pl-60 { padding-left: 60px !important; }
.pl-70 { padding-left: 70px !important; }
.pl-80 { padding-left: 80px !important; }
.pl-90 { padding-left: 90px !important; }
.pl-100 { padding-left: 100px !important; }
.pl-110 { padding-left: 110px !important; }
.pl-120 { padding-left: 120px !important; }
.pl-130 { padding-left: 130px !important; }
.pl-140 { padding-left: 140px !important; }
.pl-150 { padding-left: 150px !important; }
.pl-200 { padding-left: 200px !important; }
.pl-250 { padding-left: 250px !important; }

.pr-0 { padding-right: 0px !important; }
.pr-5 { padding-right: 5px !important; }
.pr-10 { padding-right: 10px !important; }
.pr-15 { padding-right: 15px !important; }
.pr-20 { padding-right: 20px !important; }
.pr-30 { padding-right: 30px !important; }
.pr-40 { padding-right: 40px !important; }
.pr-50 { padding-right: 50px !important; }
.pr-60 { padding-right: 60px !important; }
.pr-70 { padding-right: 70px !important; }
.pr-80 { padding-right: 80px !important; }
.pr-90 { padding-right: 90px !important; }
.pr-100 { padding-right: 100px !important; }
.pr-110 { padding-right: 110px !important; }
.pr-120 { padding-right: 120px !important; }
.pr-130 { padding-right: 130px !important; }
.pr-140 { padding-right: 140px !important; }
.pr-150 { padding-right: 150px !important; }
.pr-200 { padding-right: 200px !important; }
.pr-250 { padding-right: 250px !important; }

/* 幅 */
/*---------------------------------------------------*/
.w-5 { width: 5%; }
.w-10 { width: 10%; }
.w-15 { width: 15%; }
.w-20 { width: 20%; }
.w-25 { width: 25%; }
.w-30 { width: 30%; }
.w-35 { width: 35%; }
.w-40 { width: 40%; }
.w-45 { width: 45%; }
.w-50 { width: 50%; }
.w-55 { width: 55%; }
.w-60 { width: 60%; }
.w-65 { width: 65%; }
.w-70 { width: 70%; }
.w-75 { width: 75%; }
.w-80 { width: 80%; }
.w-85 { width: 85%; }
.w-90 { width: 90%; }
.w-95 { width: 95%; }
.w-100 { width: 100%; }


/* HTMLで改行した場合に生じる左右の余白を消す */
/*---------------------------------------------------*/
.parent-inline-block {
    letter-spacing: -1em;
    word-spacing: -1em;
}
:root .parent-inline-block {
    font-size: 0 !important;
    letter-spacing: -1px;
}
.parent-inline-block > * {
    font-size: 16px;
    font-size: 1rem;
    letter-spacing: normal;
    word-spacing: normal;
    vertical-align: top;
    display: inline-block;
    *display: inline;
    *zoom: 1;
}


/* 動画 */
/*---------------------------------------------------*/
.parent-youtube {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
.parent-youtube iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}


/* その他 */
/*---------------------------------------------------*/
/* いいねボタンの横幅が途切れてしまう現象への対策 */
.fb-like iframe {
    max-width: none !important;
}

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}


/* 画面幅によって非表示 */
/*----------------------------------------------------------------------------*/
@media only screen and (min-width: 0px) and (max-width: 479px) {
    .only-pc { display: none !important; }
    .only-tab { display: none !important; }
    .only-sp {  }

    .over-pc { display: none !important; }
    .over-tab { display: none !important; }
    .over-sp {  }

    .under-pc {  }
    .under-tab {  }
    .under-sp {  }
}
@media only screen and (min-width: 480px) and (max-width: 769px) {
    .only-pc { display: none !important; }
    .only-tab {  }
    .only-sp { display: none !important; }

    .over-pc { display: none !important; }
    .over-tab {  }
    .over-sp {  }

    .under-pc {  }
    .under-tab {  }
    .under-sp { display: none !important; }
}
@media only screen and (min-width: 770px) {
    .only-pc {  }
    .only-tab { display: none !important; }
    .only-sp { display: none !important; }

    .over-pc {  }
    .over-tab {  }
    .over-sp {  }

    .under-pc {  }
    .under-tab { display: none !important; }
    .under-sp { display: none !important; }
}

html {
    font-size: 16px;
    font-family: 'Open Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', '游ゴシック', YuGothic, 'メイリオ', Meiryo, Verdana, Droid Sans, sans-serif;
    color: #222;
    letter-spacing: 0.05em;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
}

@supports ((-webkit-font-feature-settings: "palt" 1) or (font-feature-settings: "palt" 1)) {

html {
        -webkit-font-feature-settings: "palt" 1;
                font-feature-settings: "palt" 1;
        letter-spacing: 0.08em
}
    }

p {
    margin-top: 1.0em;
    margin-bottom: 1.0em;
    line-height: 1.5;
}


/* a:link, a:visited を追加するとボタンの文字色にも影響がある */
a {
    color: #28f;
    text-decoration: none;
}
a:hover {
    color: #049;
    text-decoration: underline;
}

/* [target="_blank"] {
    display: inline-flex;
    align-items: center;

    &::after {
        margin-left: 0.25em;
        @mixin icon;
        @mixin icon-outlink;
    }

    &.icon-none {

        &::after {
            margin-left: 0;
            display: none;
        }
    }
} */
[target="_blank"] {
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
            align-items: center;
}
[target="_blank"]::before {
        margin-right: 0.25em;
        content: '';
        display: inline-block;
        background-image: url(../img/common/icon-02.png);
        background-size: 14px auto;
        width: 14px;
        height: 14px;
        vertical-align: middle;
    }
[target="_blank"].btn-white::before {
            background-image: url(../img/common/icon-02-on.png);
        }
[target="_blank"]:hover::before {
            background-image: url(../img/common/icon-02.png);
        }
[target="_blank"].icon-none {
        -webkit-box-align: inherit;
                align-items: inherit;
    }
[target="_blank"].icon-none::before {
            content: none;
        }

/*----------------------------------------------------------------------------*/
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-center { text-align: center !important; }
.text-justify { text-align: justify !important; }
.vertical-top { vertical-align: top !important; }
.vertical-middle { vertical-align: middle !important; }
.vertical-bottom { vertical-align: bottom !important; }
.vertical-baseline { vertical-align: baseline !important; }
.text-notmal { font-weight: normal; }
.text-bold { font-weight: bold; }
.text-italic { font-style: italic; }
.text-oblique { font-style: oblique; }
.text-underline { text-decoration: underline; }
.text-line-through { text-decoration: line-through; }
.text-nowrap { white-space: nowrap; }

/* 文字サイズ */
.text-lg { font-size: 1.2em; }
.text-sm { font-size: 0.8em; }

/* 注釈 */
.text-note {
    font-size: 0.8em;
    color: #aaa;
    display: block;
}

/* バリデーション */
.invalid-feedback {
    font-size: 0.8em;
    color: #ec5858;
    display: block;
}
.valid-feedback {
    font-size: 0.8em;
    color: #6bc55d;
    display: block;
}

.text-base {
    color: #222;
}
strong {
    font-weight: bold;
}



.dl-01 dt {
        font-weight: bold;
        font-size: 24px;
    }



.dl-01 dd {
        font-size: 18px;
        line-height: 1.5;
        margin-top: 20px;
    }

.coming-soon {
    text-align: center;
    font-size: 32px;
    font-weight: bold;
    color: #333;
    letter-spacing: 0.05em;
}

.title-01 {
    font-family: "Alte-Haas-Grotesk-Bold";
    font-size: 36px;
    margin-bottom: 60px;
    color: #00315f;
    text-align: center;
    line-height: 1.3;
}

.title-01.bold {
        font-weight: bold;
    }

@media only screen and (max-width: 767px) {

.title-01 {
        font-size: 30px;
        margin-bottom: 40px
}
    }



.title-02 {
    font-family: "Alte-Haas-Grotesk-Bold";
    font-size: 36px;
    color: #ffffff;
    padding-top: 20px;
    margin-bottom: 60px;
}



.title-02.red {
        background-color: #e70012;
    }



.title-02.green {
        background-color: #07913b;
    }



.title-02.black {
        background-color: #211715;
    }



.title-02.blue {
        background-color: #00315f;
    }



@media only screen and (max-width: 767px) {



.title-02 {
        font-size: 30px;
        margin-bottom: 40px
}
    }



.title-03 {
    font-size: 36px;
    color: #ffffff;
    padding-top: 10px;
    padding-left: 30px;
    margin-bottom: 30px;
    margin-right: -100%;
    font-weight: bold;
}



.title-03.blue {
        background-color: #0c4478;
    }



.title-03.pink {
        background-color: #118364;
    }



.title-03.green {
        background-color: #de8b07;
    }



.title-03.yellow {
        background-color: #c70d5c;
    }



@media only screen and (max-width: 767px) {



.title-03 {
        font-size: 30px;
        padding-left: 20px
}
    }



.title-04 {
    width: 200%;
    font-size: 24px;
    color: #ffffff;
    padding: 10px 0;
    margin-bottom: 40px;
    margin-left: -100%;
    background-color: #00315f;
    padding-left: 100%;
    box-sizing: border-box;
    font-weight: bold;
}



@media only screen and (max-width: 767px) {



.title-04 {
        font-size: 20px
}
    }



.title-05 {
    width: 200%;
    font-size: 24px;
    color: #ffffff;
    padding: 10px 100% 10px 20px;
    margin-bottom: 40px;
    margin-right: -100%;
    background-color: #00315f;
    box-sizing: border-box;
    font-weight: bold;
}



@media only screen and (max-width: 767px) {



.title-05 {
        font-size: 20px
}
    }



.title-06 {
    width: 200%;
    font-size: 24px;
    color: #ffffff;
    padding: 10px 20px 10px 100%;
    margin-bottom: 40px;
    margin-left: -100%;
    background-color: #00315f;
    box-sizing: border-box;
    font-weight: bold;
    text-align: right;
}



@media only screen and (max-width: 767px) {



.title-06 {
        font-size: 20px
}
    }



.title-07 {
    width: 100%;
    font-size: 24px;
    color: #ffffff;
    padding: 10px 0;
    margin-bottom: 40px;
    background-color: #00315f;
    font-weight: bold;
    text-align: center;
}



@media only screen and (max-width: 767px) {



.title-07 {
        font-size: 20px
}
    }



.title-08 {
    background-color: #5da0de;
    padding: 30px 0;
}



.title-08 img {
        width: 50px;
        vertical-align: top;
    }



.title-08 .text-01 {
        color: #ffffff;
        font-size: 50px;
        font-weight: bold;
        display: inline-block;
        margin: 0 20px 0 15px;
    }



.title-08 .text-02 {
        color: #00315f;
        font-size: 21px;
        font-weight: bold;
    }



@media only screen and (max-width: 767px) {



.title-08 {
        padding: 20px 0
}

        .title-08 img {
            width: 30px;
        }

        .title-08 .text-01 {
            font-size: 30px;
            margin: 0 15px 0 10px;
        }

        .title-08 .text-02 {
            font-size: 16px;
        }
    }

.list-news-home {
    line-height: 1.5;
    color: #00315f;
}

.list-news-home dd {
        font-weight: bold;
    }

.list-news-home dd + dt {
            margin-top: 20px;
        }

.list-news-home a {
        color: #00315f;
    }



.list-teams {
    line-height: 1.5;
}



.list-teams ul {
        margin-left: -20px;
        margin-top: -20px;
    }



@media only screen and (max-width: 767px) {



.list-teams ul {
            margin-left: 0
    }
        }



.list-teams li {
        width: 540px;
        box-sizing: border-box;
        border: 1px solid #00315f;
        padding: 20px 25px;
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        float: left;
        margin-left: 20px;
        margin-top: 20px;
        box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
    }



.list-teams li .logo {
            margin-right: 20px;
            width: 90px;
        }



.list-teams li .logo dd {
                font-size: 12px;
            }



.list-teams li .logo dd div + div {
                    margin-top: 10px;
                }



.list-teams li .logo dd a {
                    padding: 5px 0;
                    color: #ffffff;
                }



.list-teams li .text {
            width: calc(100% - 110px);
        }



.list-teams li .text h4 {
                font-size: 24px;
                font-weight: bold;
                line-height: 1.3;
            }



.list-teams li .text h4 + div {
                    font-size: 14px;
                    color: #0084ff;
                    line-height: 1.3;
                    margin-top: 5px;
                }



.list-teams li .text dl {
                margin-top: 10px;
                font-size: 14px;
                display: -webkit-box;
                display: flex;
            }



.list-teams li .text dl dt {
                    width: 100px;
                    font-weight: bold;
                }



.list-teams li .text dl dd {
                    width: calc(100% - 100px);
                }



@media only screen and (max-width: 1080px) {



.list-teams li {
            width: calc((100% - 40px) / 2)
    }

                .list-teams li .text h4 {
                    font-size: 22px;
                }

                .list-teams li .text dl {
                    display: block;
                }

                    .list-teams li .text dl dt {
                        width: 100%;
                    }

                    .list-teams li .text dl dd {
                        width: 100%;
                    }
        }



@media only screen and (max-width: 1023px) {



.list-teams li {
            padding: 15px 20px
    }
        }



@media only screen and (max-width: 767px) {



.list-teams li {
            width: 100%;
            float: none;
            margin-left: 0
    }
        }



.list-teams.type-02 ul {
            margin-left: 0;
            margin-top: 0;
        }



.list-teams.type-02 li {
            width: 100%;
            padding: 30px 40px;
            display: -webkit-box;
            display: flex;
            float: none;
            margin-left: 0;
            margin-top: 0;
        }



.list-teams.type-02 li + li {
                margin-top: 35px;
            }



.list-teams.type-02 li .logo {
                margin-right: 50px;
                width: 140px;
            }



.list-teams.type-02 li .text {
                width: calc(100% - 190px);
            }



@media only screen and (max-width: 1080px) {

                .list-teams.type-02 .text dl {
                    display: -webkit-box;
                    display: flex;
                }

                    .list-teams.type-02 .text dl dt {
                        width: 100px;
                    }

                    .list-teams.type-02 .text dl dd {
                        width: calc(100% - 100px);
                    }
        }



@media only screen and (max-width: 1023px) {

            .list-teams.type-02 li {
                padding: 20px 30px;
            }

                .list-teams.type-02 li .logo {
                    margin-right: 30px;
                }

                .list-teams.type-02 li .text {
                    width: calc(100% - 170px);
                }
        }



@media only screen and (max-width: 767px) {

            .list-teams.type-02 li {
                display: block;
                padding: 15px 20px;
            }

                .list-teams.type-02 li .logo {
                    width: 100%;
                    margin-right: 0;
                    text-align: center;
                }

                    .list-teams.type-02 li .logo dd {
                        display: -webkit-box;
                        display: flex;
                        -webkit-box-pack: justify;
                                justify-content: space-between;
                    }

                        .list-teams.type-02 li .logo dd div {
                            width: 47%;
                        }

                        .list-teams.type-02 li .logo dd div + div {
                            margin-top: 0;
                        }

                .list-teams.type-02 li .text {
                    width: 100%;
                    text-align: center;
                    margin-top: 20px;
                }

                    .list-teams.type-02 li .text dl {
                        text-align: left;
                        display: block;
                    }

                        .list-teams.type-02 li .text dl dt {
                            width: 100%;
                        }

                        .list-teams.type-02 li .text dl dd {
                            width: 100%;
                        }
        }



.list-teams-02 {
    line-height: 1.3;
}



.list-teams-02 > li {
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #00315f;
        padding: 20px 25px;
        margin-top: 25px;
        box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
    }



.list-teams-02 > li h4, .list-teams-02 > li .supplement {
            color: #00315f;
            font-size: 19px;
            font-weight: bold;
        }



.list-teams-02 > li > dl {
            display: -webkit-box;
            display: flex;
            margin-top: 10px;
        }



.list-teams-02 > li > dl dt {
                width: 90px;
                font-weight: bold;
            }



.list-teams-02 > li > dl dd {
                width: calc(100% - 90px);
            }



.list-teams-02 > li .inner-layout {
            display: -webkit-box;
            display: flex;
            -webkit-box-pack: justify;
                    justify-content: space-between;
            margin-top: 15px;
        }



.list-teams-02 > li .inner-layout > * {
                width: 48%;
            }



.list-teams-02 > li .inner-layout .link li + li {
                        margin-top: 10px;
                    }



.list-teams-02 > li .inner-layout .link li a {
                        padding: 10px 0;
                    }



.list-teams-02 > li .inner-layout .teams {
                border: 1px solid #00315f;
            }



.list-teams-02 > li .inner-layout .teams dt {
                    background-color: #00315f;
                    color: #ffffff;
                    font-weight: bold;
                    text-align: center;
                    padding: 5px 0;
                }



.list-teams-02 > li .inner-layout .teams ul {
                    display: -webkit-box;
                    display: flex;
                    padding: 5px 10px 0;
                }



@media only screen and (max-width: 1023px) {

            .list-teams-02 > li > dl {
                display: block;
            }

                .list-teams-02 > li > dl dt {
                    width: 100%;
                }

                .list-teams-02 > li > dl dd {
                    width: 100%;
                }
    }



@media only screen and (max-width: 767px) {

        .list-teams-02 > li {
            padding: 15px 20px;
        }

            .list-teams-02 > li .inner-layout {
                display: block;
            }

                .list-teams-02 > li .inner-layout > * {
                    width: 100%;
                }

                .list-teams-02 > li .inner-layout .teams {
                    margin-top: 20px;
                }
    }



.list-city {
    margin-top: -20px;
    padding-left: 20px;
}



.list-city li {
        float: left;
        width: 25%;
        margin-top: 20px;
        padding-left: 20px;
        box-sizing: border-box;
        background-image: url(../img/common/arrow-01.png);
        background-repeat: no-repeat;
        background-size: 8px auto;
        background-position: 0 5px;
    }



.list-city li a {
            display: inline-block;
            color: #00315f;
            font-weight: bold;
            font-size: 24px;
        }



.list-city li a span {
                display: block;
                color: #0084ff;
                font-weight: normal;
                font-size: 14px;
                margin-top: 5px;
            }



.list-city li a:hover {
                text-decoration: none;
                color: #018abc;
            }



@media only screen and (max-width: 1279px) {

        .list-city li {
            width: 33.3%;
        }
    }



@media only screen and (max-width: 1023px) {

        .list-city li {
            width: 25%;
        }
    }



@media only screen and (max-width: 767px) {

        .list-city li {
            width: 50%;
        }
    }



.list-league-navi {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
    font-family: "Alte-Haas-Grotesk-Regular";
    margin-bottom: 40px !important;
}



.list-league-navi li {
        font-size: 24px;
        text-align: center;
    }



.list-league-navi li a {
            display: block;
            width: 190px;
            padding: 10px 0;
        }



.list-league-navi li a:hover {
                text-decoration: none;
                color: #ffffff !important;
            }



.list-league-navi li.j1 a {
            border: 1px solid #e70012;
            color: #e70012;
        }



.list-league-navi li.j1 a:hover {
                background-color: #e70012;
            }



.list-league-navi li.j2 a {
            border: 1px solid #07913b;
            color: #07913b;
        }



.list-league-navi li.j2 a:hover {
                background-color: #07913b;
            }



.list-league-navi li.j3 a {
            border: 1px solid #000000;
            color: #000000;
        }



.list-league-navi li.j3 a:hover {
                background-color: #000000;
            }



.list-league-navi li.others a {
            border: 1px solid #00315f;
            color: #00315f;
        }



.list-league-navi li.others a:hover {
                background-color: #00315f;
            }



@media only screen and (max-width: 1023px) {

            .list-league-navi li a {
                width: 160px;
            }
    }



@media only screen and (max-width: 767px) {



.list-league-navi {
        margin-top: -20px;
        flex-wrap: wrap
}

        .list-league-navi li {
            width: 47%;
            margin-top: 20px;
        }

            .list-league-navi li a {
                width: 100%;
            }
    }



.list-shop li {
        border: 1px solid #00315f;
        box-shadow: 0 2px 5px 0 rgba(0,0,0,.2);
        box-sizing: border-box;
        margin-top: 15px;
    }



.list-shop li:first-child {
            margin-top: 0;
        }



.list-shop li a {
            display: -webkit-box;
            display: flex;
            -webkit-box-pack: justify;
                    justify-content: space-between;
            padding: 10px;
        }



.list-shop li a .img {
                width: 150px;
                margin-right: 15px;
            }



.list-shop li a .img img {
                    -o-object-fit: cover;
                       object-fit: cover;
                    width: 100%;
                    height: 100px;
                }



.list-shop li a .info {
                width: calc(100% - 165px);
            }



.list-shop li a .info dl {
                    display: -webkit-box;
                    display: flex;
                    -webkit-box-align: center;
                            align-items: center;
                    flex-wrap: wrap;
                    color: #00315f;
                    line-height: 1.2;
                }



.list-shop li a .info dl dt {
                        font-size: 24px;
                        font-weight: bold;
                        margin-top: 5px;
                    }



.list-shop li a .info dl dd {
                        width: 100%;
                        font-size: 16px;
                        margin-top: 10px;
                    }



.list-shop li a:hover {
                text-decoration: none;
            }



.list-shop li a:hover .info dl {
                    color: #018abc;
                }



@media only screen and (max-width: 767px) {

            .list-shop li a {
                display: block;
            }

                .list-shop li a .img {
                    width: 100%;
                    margin-right: 0;
                }

                    .list-shop li a .img img {
                        height: 210px;
                    }

                .list-shop li a .info {
                    width: 100%;
                }

                    .list-shop li a .info dl {
                        margin-top: 10px;
                    }

                        .list-shop li a .info dl dt {
                            font-size: 20px;
                            margin-top: 0;
                        }

                        .list-shop li a .info dl dd {
                            font-size: 14px;
                            margin-top: 0;
                        }

                            .list-shop li a .info dl dd span {
                                display: block;
                            }
        }



.list-shop-02 {
    margin-left: -30px;
    margin-top: -30px;
}



.list-shop-02::after {
        content: "";
        display: block;
        clear: both;
    }



.list-shop-02 li {
        border: 1px solid #00315f;
        box-shadow: 0 2px 5px 0 rgba(0,0,0,.2);
        box-sizing: border-box;
        float: left;
        width: calc((100% - 90px) / 3);
        margin-left: 30px;
        margin-top: 30px;
    }



.list-shop-02 li a {
            display: block;
            padding: 15px;
            color: #00315f;
            height: 100%;
        }



.list-shop-02 li a:hover {
                text-decoration: none;
                color: #018abc;
            }



.list-shop-02 li a .img {
                display: block;
            }



.list-shop-02 li a .img img {
                    -o-object-fit: cover;
                       object-fit: cover;
                    width: 100%;
                    height: 210px;
                }



.list-shop-02 li a .info {
                line-height: 1.3;
                margin-top: 10px;
            }



.list-shop-02 li a .info dt {
                    font-size: 24px;
                    font-weight: bold;
                }



.list-shop-02 li a .info dd {
                    font-size: 16px;
                    margin-top: 5px;
                }



.list-shop-02 li a .info dd span {
                        display: block;
                    }



@media only screen and (max-width: 767px) {



.list-shop-02 {
        margin-left: 0;
        margin-top: 0
}

        .list-shop-02 li {
            float: none;
            width: 100%;
            margin-left: 0;
            margin-top: 15px;
        }

            .list-shop-02 li:first-child {
                margin-top: 0;
            }

            .list-shop-02 li a {
                padding: 10px;
            }

                .list-shop-02 li a .info {
                    line-height: 1.2;
                }

                    .list-shop-02 li a .info dt {
                        font-size: 20px;
                    }

                    .list-shop-02 li a .info dd {
                        font-size: 14px;
                    }
    }



.list-news {
    border-top: 3px solid #00315f;
    border-bottom: 3px solid #00315f;
    padding: 30px 0;
}



.list-news ul li {
            padding: 15px;
            border-top: 1px solid #dfdfdf;
            color: #000000;
        }



.list-news ul li:first-child {
                border-top: none;
            }



.list-news ul li a {
                color: #000000;
            }



.list-news ul li > div {
                display: inline-block;
            }



.list-news ul li > div.date {
                    font-weight: bold;
                }



.list-news ul li > div.cate {
                    color: #ffffff;
                    padding: 6px 10px;
                    margin: 0 30px;
                }



.list-news ul li > div.cate.info {
                        background-color: #00315f;
                    }



.list-news ul li > div.cate.match {
                        background-color: #1779d5;
                    }



.list-news ul li > div.text {
                    font-size: 20px;
                    font-weight: bold;
                    line-height: 1.3;
                }



@media only screen and (max-width: 767px) {

                    .list-news ul li > div.cate {
                        margin: 0 0 0 20px;
                    }

                    .list-news ul li > div.text {
                        display: block;
                        margin-top: 5px;
                    }
            }

.table-wrap {
    width: 100%;
}

/*----------------------------------------------------------------------------*/

.table-wrap table {
        /* margin-top: 3em;
 */
        /* margin-bottom: 3em;
 */
        margin-top: 2em;
        margin-bottom: 2em;
        width: 100%;
        line-height: 1.5;
    }

.table-wrap table th,
        .table-wrap table td {
            padding: 0.5em;
        }

.table-wrap table th img,
            .table-wrap table th iframe,
            .table-wrap table td img,
            .table-wrap table td iframe {
                vertical-align: top;
            }

.table-wrap table th {
            text-align: left;
            /* font-weight: bold;
 */
            white-space: nowrap;
        }

.table-wrap table,
        .table-wrap table thead,
        .table-wrap table tbody,
        .table-wrap table tfoot,
        .table-wrap table tr,
        .table-wrap table th,
        .table-wrap table td {
            border: 1px none #000000;
            border: 1px none rgba(0, 0, 0, 0.2);
            box-sizing: border-box;
        }

.table-wrap table caption {
            text-align: left;
            font-weight: bold;
            margin-bottom: 0.75em;
        }

@media only screen and (min-width: 480px) {
            .table-wrap table th,
            .table-wrap table td {
                padding: 0.75em;
            }
                .table-wrap table tbody th:first-child {
                    width: 120px;
                }
        }

@media only screen and (min-width: 660px) {

        }

@media only screen and (min-width: 770px) {

        }

@media only screen and (min-width: 1000px) {

        }

/* テーブル全般 */

.table-wrap .table-sm {
        font-size: 0.85em;
    }

.table-wrap .table-sm th,
        .table-wrap .table-sm td {
            padding: 0.5em;
        }

.table-wrap .table-lg {
        font-size: 1.2em;
    }

.table-wrap .table-lg th,
        .table-wrap .table-lg td {
            padding: 1.0em
        }

.table-wrap .table-fixed {
        table-layout: fixed;
    }

/*----------------------------------------------------------------------------*/

.table-wrap table,
        .table-wrap table thead,
        .table-wrap table tbody,
        .table-wrap table tfoot,
        .table-wrap table tr,
        .table-wrap table th,
        .table-wrap table td,
        .table-wrap table.table-border-horizontal,
        .table-wrap table.table-border-horizontal thead,
        .table-wrap table.table-border-horizontal tbody,
        .table-wrap table.table-border-horizontal tfoot,
        .table-wrap table.table-border-horizontal tr,
        .table-wrap table.table-border-horizontal th,
        .table-wrap table.table-border-horizontal td {
            border-top-style: solid;
            border-bottom-style: solid;
        }

@media only screen and (min-width: 0px) and (max-width: 769px) {

        }

@media only screen and (min-width: 770px) {
                    .table-wrap table:not(.table-calendar):not(.table-bordered) th:first-child, .table-wrap table:not(.table-calendar):not(.table-bordered) td:first-child, .table-wrap table.table-border-horizontal:not(.table-calendar):not(.table-bordered) th:first-child, .table-wrap table.table-border-horizontal:not(.table-calendar):not(.table-bordered) td:first-child {
                        padding-left: 0;
                    }
                    .table-wrap table:not(.table-calendar):not(.table-bordered) th:last-child, .table-wrap table:not(.table-calendar):not(.table-bordered) td:last-child, .table-wrap table.table-border-horizontal:not(.table-calendar):not(.table-bordered) th:last-child, .table-wrap table.table-border-horizontal:not(.table-calendar):not(.table-bordered) td:last-child {
                        padding-right: 0;
                    }
        }

/*----------------------------------------------------------------------------*/

.table-wrap table.table-bordered th {
            background: #e6e6e6;
        }

.table-wrap table.table-bordered,
        .table-wrap table.table-bordered thead,
        .table-wrap table.table-bordered tbody,
        .table-wrap table.table-bordered tfoot,
        .table-wrap table.table-bordered tr,
        .table-wrap table.table-bordered th,
        .table-wrap table.table-bordered td {
            border-style: solid;
        }

/*----------------------------------------------------------------------------*/

.table-wrap table.table-border-none,
        .table-wrap table.table-border-none thead,
        .table-wrap table.table-border-none tbody,
        .table-wrap table.table-border-none tfoot,
        .table-wrap table.table-border-none tr,
        .table-wrap table.table-border-none th,
        .table-wrap table.table-border-none td {
            background: none;
            border-width: 0;
            border-style: none;
            border-color: transparent;
        }

/*----------------------------------------------------------------------------*/

.table-wrap .table-reverse {}

/* レスポンシブ
 */

.table-wrap .table-scroll {}

/* テーブル (枠線なし) */

.table-wrap .table-smart {}

/* テーブル (枠線) */

.table-wrap .not-responsive {}

/* テーブル (横線) */

@media only screen and (min-width: 0px) and (max-width: 479px) {
            .table-wrap table:not(.not-responsive),
            .table-wrap table:not(.not-responsive) caption,
            .table-wrap table:not(.not-responsive) thead,
            .table-wrap table:not(.not-responsive) tbody,
            .table-wrap table:not(.not-responsive) tfoot,
            .table-wrap table:not(.not-responsive) tr,
            .table-wrap table:not(.not-responsive) th,
            .table-wrap table:not(.not-responsive) td {
                display: block;
                border-style: none;
            }
                .table-wrap table:not(.not-responsive):not(.table-border-horizontal) thead,
                .table-wrap table:not(.not-responsive):not(.table-border-horizontal) tbody,
                .table-wrap table:not(.not-responsive):not(.table-border-horizontal) tfoot {
                    border-right-style: solid;
                    border-left-style: solid;
                }
                .table-wrap table:not(.not-responsive) thead:not(:last-child), .table-wrap table:not(.not-responsive) tbody:not(:last-child), .table-wrap table:not(.not-responsive) tfoot:not(:last-child) {
                    margin-bottom: 0.5em;
                }
            .table-wrap table:not(.not-responsive) tr {
                margin-bottom: 0.5em;
                border-top-style: solid;
            }
            .table-wrap table:not(.not-responsive) tr:last-child {
                margin-bottom: 0;
                border-bottom-style: solid;
            }
            .table-wrap table:not(.not-responsive) th,
            .table-wrap table:not(.not-responsive) td {
                border-bottom-style: dotted;
            }
            .table-wrap table:not(.not-responsive) td:last-child,
            .table-wrap table:not(.not-responsive) th:last-child {
                border-bottom-style: none;
            }

            .table-wrap table:not(.not-responsive) th:empty {
                display: none;
            }

                .table-wrap table:not(.not-responsive) th:empty::before {
                    content: "-";
                }
            .table-wrap table:not(.not-responsive) th {
                /* padding-top: 0.5em;
 */
                /* padding-bottom: 0.5em;
 */
            }
        }

.table-wrap .fc table,
    .table-wrap .not-responsive {
        display: table;
    }

.table-wrap .fc table thead, .table-wrap .not-responsive thead {
            display: table-header-group;
        }

.table-wrap .fc table tbody, .table-wrap .not-responsive tbody {
            display: table-row-group;
        }

.table-wrap .fc table tfoot, .table-wrap .not-responsive tfoot {
            display: table-footer-group;
        }

.table-wrap .fc table tr, .table-wrap .not-responsive tr {
            display: table-row;
        }

.table-wrap .fc table td, .table-wrap .fc table th, .table-wrap .not-responsive td, .table-wrap .not-responsive th {
            display: table-cell;
        }

/* スマホとPCとで縦横が入れ替わるテーブル。折り返しが発生すると崩れるのでいまいち */

@media only screen and (min-width: 480px) {

        }

@media only screen and (min-width: 660px) {

        }

@media only screen and (min-width: 770px) {

        }

@media only screen and (min-width: 1000px) {

        }

@media only screen and (min-width: 1300px) {

.table-wrap table.not-responsive.table-reverse {
            display: block
    }

            .table-wrap table.not-responsive.table-reverse tbody {
                display: -webkit-box;
                display: flex;
            }

            .table-wrap table.not-responsive.table-reverse tr {
                display: block;
            }
            .table-wrap table.not-responsive.table-reverse td,
            .table-wrap table.not-responsive.table-reverse th {
                display: block;
            }
                .table-wrap table.not-responsive.table-reverse tr:first-child td {
                    white-space: nowrap;
                }
                .table-wrap table.not-responsive.table-reverse tr:not(:last-child) th,
                .table-wrap table.not-responsive.table-reverse tr:not(:last-child) td {
                    border-right: none;
                }
                .table-wrap table.not-responsive.table-reverse tr th:not(:last-child),
                .table-wrap table.not-responsive.table-reverse tr td:not(:last-child) {
                    border-bottom: none;
                }
        }

/* レスポンシブ対応のテーブル */

@media only screen and (min-width: 0px) and (max-width: 479px) {
        .table-wrap table:not(.not-responsive).table-scroll {
            display: -webkit-box;
            display: flex;
        }

            .table-wrap table:not(.not-responsive).table-scroll thead {
                display: -webkit-box;
                display: flex;
            }
            .table-wrap table:not(.not-responsive).table-scroll tbody,
            .table-wrap table:not(.not-responsive).table-scroll tfoot {
                display: -webkit-box;
                display: flex;
                overflow-x: auto;
            }
            .table-wrap table:not(.not-responsive).table-scroll tr {
                height: 100%;
                display: -webkit-box;
                display: flex;

                -webkit-box-orient: vertical;

                -webkit-box-direction: normal;

                        flex-direction: column;
                -webkit-box-pack: center;
                        justify-content: center;
            }
            .table-wrap table:not(.not-responsive).table-scroll th {
                height: 100%;
                font-size: 0.85em;
            }
            .table-wrap table:not(.not-responsive).table-scroll thead th:not(:first-child),
            .table-wrap table:not(.not-responsive).table-scroll thead td:not(:first-child) {
                height: 100%;
            }
            .table-wrap table:not(.not-responsive).table-scroll thead {
                -webkit-box-flex: 1;
                        flex-grow: 1;
            }
            .table-wrap table:not(.not-responsive).table-scroll tbody td {
                height: 100%;
                display: block;
                white-space: nowrap;
            }
        .table-wrap table:not(.not-responsive):not(.no-border).table-scroll tr + tr {
            margin-top: 0;
        }
        .table-wrap table:not(.not-responsive):not(.no-border).table-scroll thead {
            margin-bottom: 0;
        }











        .table-wrap table.table-smart {
            border: 0;
        }

            .table-wrap table.table-smart thead {
                border: none;
                clip: rect(0 0 0 0);
                height: 1px;
                margin: -1px;
                overflow: hidden;
                padding: 0;
                position: absolute;
                width: 1px;
            }
            .table-wrap table.table-smart tr {
                display: block;
                margin-bottom: 0.625em;
            }
            .table-wrap table.table-smart td {
                border-bottom: 1px solid #ddd;
                display: block;
                text-align: right;
            }
            .table-wrap table.table-smart td:before {
                margin-bottom: 0.5em;
                content: attr(data-label);
                float: left;
                font-size: 0.85em;
                font-weight: bold;
            }
            .table-wrap table.table-smart td:last-child {
                border-bottom: 0;
            }

            .table-wrap table.table-smart ul,
            .table-wrap table.table-smart ol {
                margin-top: 10px;
                clear: both;
                text-align: left;
            }
    }

/*
    table:not(.not-responsive).table-reverse {

        tbody {
            display: flex;
            border: none;
        }
        tr {
            flex: 1 1 0%;
        }
    }


    table:not(.not-responsive):not(.no-border).table-reverse {
        border: 1px solid #ccc;

        tr + tr {
            margin-top: 0;
        }
        tr {
            border: none;
            border-right: 1px solid #ccc;
        }
        tr:last-child {
            border: none;
        }
    }
    */

.table-wrap .table-schedule {
        width: 100%;
    }

.table-wrap .table-schedule thead th {
                background-color: #518ea6;
                color: #ffffff;
                font-weight: bold;
                line-height: 1;
                padding: 5px 10px !important;
            }

.table-wrap .table-schedule tbody td {
                padding: 5px 10px !important;
            }

@media only screen and (max-width: 767px) {

            .table-wrap .table-schedule thead {
                display: none !important;
            }

                .table-wrap .table-schedule tbody td.span {
                    background-color: #518ea6;
                    color: #ffffff;
                }
        }

img {
    max-width: 100%;
}

figure figcaption {
        margin-top: 1em;
        text-align: center;
        line-height: 1.5;
    }

figure img {
        margin-left: auto;
        margin-right: auto;
        display: block;
    }

/* 将来的にCSS「object-fit」で実装できるようになる */
/* https://developer.mozilla.org/ja/docs/Web/CSS/object-fit */

/* 新thumbnail */
/*----------------------------------------------------------------------------*/
/*
.thumbnail {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.thumbnail > img {
    max-width: initial;
    max-height: initial;
    width: auto;
    height: auto;
    opacity: 0;
    transition: opacity 0.2s ease 0.0s;
    display: block;
    position: absolute;
    margin: auto;
}
.thumbnail.landscape > img,
.thumbnail.portrait > img {
    opacity: 1;
}

.thumbnail:not(.contain).landscape > img {
    // max-width: none;
    max-height: 100%;
    height: 100%;
}
.thumbnail:not(.contain).portrait > img {
    max-width: 100%;
    // max-height: none;
    width: 100%;
}
.thumbnail.contain.landscape > img {
    max-width: 100%;
    // max-height: none;
    width: 100%;
}
.thumbnail.contain.portrait > img {
    // max-width: none;
    max-height: 100%;
    height: 100%;
}
*/


/* 旧thumbnail */
/*----------------------------------------------------------------------------*/
.thumbnail {
    display: block;
    position: relative;
    min-height: 200px;

    box-sizing: border-box;
    overflow: hidden;
}
.thumbnail > * {
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.thumbnail > img {
    max-width: none;
    max-width: initial;
    max-height: none;
    max-height: initial;
    opacity: 0.0;
    -webkit-transition: opacity 0.2s ease 0.2s;
    transition: opacity 0.2s ease 0.2s;
}
.thumbnail.landscape > img,
.thumbnail.portrait > img {
    opacity: 1.0;
}
.thumbnail.landscape > img {
    max-width: none;
    max-width: initial;
    max-height: 100%;

    height: 100%;
    left: 50%;
    right: auto;
}
.thumbnail.portrait > img {
    max-width: 100%;
    max-height: auto;
    max-height: initial;

    width: 100%;
    top: 50%;
    bottom: auto;
}
.thumbnail.contain > img,
.thumbnail.contain.landscape > img,
.thumbnail.contain.portrait > img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
/* ↓.containのとき、画像の横幅(縦幅)のpx数が小さいときに無理やり横幅100%にする */
.thumbnail.contain.landscape > img {
    width: 100%;
    height: auto;
}
.thumbnail.contain.portrait > img {
    width: auto;
    height: 100%;
}
/* ↑.containのとき、画像の横幅(縦幅)のpx数が小さいときに無理やり横幅100%にする */

iframe {
    max-width: 100%;
    display: block;
}

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.youtube iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100% !important;
        height: 100% !important;
    }

/*
アイコンのsvgファイルを以下のディレクトリに保存するとアイコンフォントとして使用可能。
1. /src/font/svg/ に.svgファイルを保存
2. gulpを実行
3. 保存したファイル名が「icon-arrow.svg」の場合、
　 「<i class="icon icon-arrow"></i>」でアイコンが表示される

上記、処理が「03-mixin-pre-consolidate.css」内に記述。
*/

/*
.icon-arrow::before {
    @mixin icon;
}
*/


/* 以下、フォント以外のアイコン */
/*----------------------------------------------------------------------------*/
.icon-arrow-animation {
    padding: 0;
    width: 30px;
    height: 30px;
    border: none;
    display: block;
    position: relative;
}
.icon-arrow-animation span {
	    margin: auto;
	    width: 24px;
	    height: 2px;
	    background: #000000;
	    display: block;
	    position: absolute;
	    top: 0;
	    right: 0;
	    bottom: 0;
	    left: 0;
	    -webkit-transition: all 0.15s ease-in-out 0s;
	    transition: all 0.15s ease-in-out 0s;
	}
.icon-arrow-animation span:nth-child(1),
	.icon-arrow-animation span:nth-child(2) {
	    margin-right: 3px;
	    width: 12px;
	    -webkit-transform-origin: 100% 50%;
	            transform-origin: 100% 50%;
	}
.icon-arrow-animation span:nth-child(1) {
	    -webkit-transform: rotate(45deg);
	            transform: rotate(45deg);
	}
.icon-arrow-animation span:nth-child(2) {
	    -webkit-transform: rotate(-45deg);
	            transform: rotate(-45deg);
	}
.icon-arrow-animation:hover span:nth-child(1),
	.icon-arrow-animation:hover span:nth-child(2) {
	    margin-right: -7px;
	    width: 12px;
	    -webkit-transform-origin: 100% 50%;
	            transform-origin: 100% 50%;
	}
.icon-arrow-animation:hover span:nth-child(3) {
	    box-shadow: 10px 0 0 0 #111111;
	}

html .loading {
	position: relative;
	color: transparent !important;
    pointer-events: none;
}

html .loading *,
    html .loading *::before,
    html .loading *::after {
        color: transparent !important;
        pointer-events: none;
    }

html .loading > * {
        opacity: 0.5 !important;
    }

html .loading.field input:not([type="radio"]):not([type="checkbox"]):not([type="range"]),
        html .loading.field textarea,
        html .loading.field select {
            background: #ebebeb !important;
            border: none !important;
            box-shadow: none !important;
        }

html .loading.field-radio label .icon, html .loading.field-checkbox label .icon {
                background: #ebebeb !important;
                border: none !important;
                box-shadow: none !important;
            }

html .loading.field-radio label .icon::before,
                html .loading.field-radio label .icon::after,
                html .loading.field-checkbox label .icon::before,
                html .loading.field-checkbox label .icon::after {
                    display: none;
                }

html .loading.field-range input[type="range"] {
            background: #ebebeb !important;
            border: none !important;
            box-shadow: none !important;
        }

/*
            &::-webkit-slider-runnable-track {
                background: $color-gray !important;
                border: none !important;
                box-shadow: none !important;
            }
            */

html .loading.field-range input[type="range"]::-moz-range-track {
                background: #ebebeb !important;
                border: none !important;
                box-shadow: none !important;
            }

/*横線 */

html .loading.field-range input[type="range"]::-ms-track {
                background: #ebebeb !important;
                border: none !important;
                box-shadow: none !important;
            }

/* つまみ */

html .loading.field-range input[type="range"]::-webkit-slider-thumb {
                background: #ebebeb !important;
                border: none !important;
                box-shadow: none !important;
            }

html .loading.field-range input[type="range"]::-moz-range-thumb {
                background: #ebebeb !important;
                border: none !important;
                box-shadow: none !important;
            }

html .loading.field-range input[type="range"]::-ms-thumb {
                background: #ebebeb !important;
                border: none !important;
                box-shadow: none !important;
            }

html .loading::before,
	html .loading::after {
		content: "";
		margin: auto;
		width: 16px;
		width: 1rem;
		height: 16px;
		height: 1rem;
		border-radius: 0.5rem;
		display: block;
		/* background: #f00; */

		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;

		box-sizing: border-box;
	}

html .loading::before {
		border: 2px solid #000000;
		border: 2px solid rgba(0, 0, 0, 0.5);
		z-index: 900;
	}

html .loading::after {
		border: 2px solid #ffffff;
		border: 2px solid rgba(255, 255, 255, 1.0);
		border-right-color: transparent;
		border-bottom-color: transparent;
		border-left-color: transparent;
		z-index: 1000;

		-webkit-animation: icon-load-animation 1.0s linear 0s infinite;

		        animation: icon-load-animation 1.0s linear 0s infinite;
	}

html .loading ::-webkit-input-placeholder {
        color: #000000;
        color: rgba(0, 0, 0, 0);
    }

html .loading ::-moz-placeholder {
        color: #000000;
        color: rgba(0, 0, 0, 0);
        opacity: 1;
    }

html .loading :-ms-input-placeholder {
        color: #000000;
        color: rgba(0, 0, 0, 0);
    }

html .loading :input-placeholder {
        color: #000000;
        color: rgba(0, 0, 0, 0);
    }

@-webkit-keyframes icon-load-animation {
    0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
    40% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
    100% { -webkit-transform: rotate(720deg); transform: rotate(720deg); }
}

@keyframes icon-load-animation {
    0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
    40% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
    100% { -webkit-transform: rotate(720deg); transform: rotate(720deg); }
}

/* フォームUIを囲う要素 */
/*----------------------------------------------------------------------------*/
/* タイトルとフォームUIを囲う要素 */
fieldset,
.fieldset {
    margin: 2em 0;
}
fieldset:first-child, .fieldset:first-child {
        margin-top: 0;
    }
fieldset:last-child, .fieldset:last-child {
        margin-bottom: 0;
    }
fieldset .title, .fieldset .title {
        margin-bottom: 0.5em;
        /* font-weight: bold; */
        font-size: 0.8em;
    }
fieldset > .field, .fieldset > .field {
        margin-top: 0;
        margin-bottom: 0;
    }
@media only screen and (min-width: 480px) {

    }
@media only screen and (min-width: 660px) {
fieldset,
.fieldset {
        margin: 3em 0
}

        fieldset:not(.fieldset-block), .fieldset:not(.fieldset-block) {
            display: -webkit-box;
            display: flex;
            -webkit-box-align: baseline;
                    align-items: baseline;
        }

            fieldset:not(.fieldset-block) > .title, .fieldset:not(.fieldset-block) > .title {
                margin-right: 1em;
                margin-bottom: 0;
                width: 200px;
            }
            fieldset:not(.fieldset-block) > .field,
            fieldset:not(.fieldset-block) > .field-group,
            .fieldset:not(.fieldset-block) > .field,
            .fieldset:not(.fieldset-block) > .field-group {
                -webkit-box-flex: 1;
                        flex: 1 1 0%;
            }
    }
@media only screen and (min-width: 770px) {

    }
@media only screen and (min-width: 1000px) {

    }

/* フォームUIを囲う要素の親要素 */
.field-group {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.field-group .field {
        /* display: block; */
        flex-wrap: wrap;
        /* & > * { */
    }
.field-group .field label.title {
            margin-right: 0;
            margin-bottom: 0.25em;
            width: 100%;
            font-size: 0.85em;

            display: block;
        }
/* } */
.field-group .field > *:not(:first-child) {
            margin-left: 0;
        }
/*     margin-right: 0; */
.field-group .field:first-child {
            margin-top: 0;
        }
/*     margin-left: 0; */
.field-group .field:last-child {
            margin-bottom: 0;
        }
.field-group:first-child {
        margin-top: 0;
    }
.field-group:last-child {
        margin-bottom: 0;
    }

/* フォームUIを囲う要素 */
.field {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;

    /*
    select,
    textarea {
        margin: 0;
    }
    */
}
.field > * {
        -webkit-box-flex: 1;
                flex: 1 1 0%;
    }
.field > label,
    .field > .unit,
    .field > .btn  {
        /* IE11でバグ。flex: 1 1 0%;のような挙動 */
        /* flex: initial; */
        -webkit-box-flex: 0;
                flex: 0 0 auto;
    }
.field > * {
        margin-left: 0.5em;
        margin-right: 0.5em;
    }
.field > *:first-child {
            margin-left: 0;
        }
.field > *:last-child {
            margin-right: 0;
        }
.field > .unit {
        margin: 0;
    }
.field > .unit:first-child {
            margin-left: 0;
        }
.field > .unit:last-child {
            margin-right: 0;
        }
/* .field内で[type="hidden"]の次の要素は余白をキャンセル */
.field > [type="hidden"]:first-child + *,
    .field > [type="hidden"] + * {
        margin-left: 0;
    }
/* .field内の先頭に[type="hidden"]の次の要素は余白をキャンセル */
.field .field {
        margin-top: 0;
        margin-bottom: 0;

        /* 病歴モーダル内のradio、checkboxで問題が出るためコメントアウト */
        /*
        & > *:not(:last-child) {
            margin-right: 0.25em;
        }
        */
    }


/* 共通 */
/*----------------------------------------------------------------------------*/
input,
select,
option,
textarea {
    font-size: 16px;
    font-size: 1rem;

    /* firefox対策、.field内のUIの最小値を修正 */
    min-width: 1em;
}
label {
    white-space: nowrap;

    /*
    &,
    & > * {
        vertical-align: middle;
        line-height: 1;
    }
    */
}


/* テキスト、セレクト */
/*----------------------------------------------------------------------------*/
/* 自動入力時の見た目をリセット */
:-webkit-autofill {
    /*
    box-shadow: 0 0 0 1000px #eee inset !important;
    // background-color: transparent !important;
    // background-color: rgba(255, 255, 0, 1.0) !important;
    */
    box-shadow: inherit !important;
    background-color: inherit !important;
}
:-webkit-autofill:active,
    :-webkit-autofill:focus {
        /*
        box-shadow: 0 0 0 1000px #f5f5f5 inset !important;
        */
        box-shadow: inherit !important;
        background-color: inherit !important;
    }

/* placeholder */
::-webkit-input-placeholder {
    color: #222222;
    color: rgba(34,34,34, 0.2);
}
::-moz-placeholder {
    color: #222222;
    color: rgba(34,34,34, 0.2);
    opacity: 1;
}
:-ms-input-placeholder {
    color: #222222;
    color: rgba(34,34,34, 0.2);
}
:input-placeholder {
    color: #222222;
    color: rgba(34,34,34, 0.2);
}
:focus::-webkit-input-placeholder {
    color: #222222;
    color: rgba(34,34,34, 0.5);
}
:focus::-moz-placeholder {
    color: #222222;
    color: rgba(34,34,34, 0.5);
    opacity: 1;
}
:focus:-ms-input-placeholder {
    color: #222222;
    color: rgba(34,34,34, 0.5);
}
:focus:input-placeholder {
    color: #222222;
    color: rgba(34,34,34, 0.5);
}


/* テキスト系のinput、textarea、select 共通 */
input[type="text"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="datetime-local"],
input[type="number"],
input[type="file"],
textarea,
select,
option {
    /* サイズ */
	padding: 0.75em 0.5em;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: block;

    /* 線と背景 */
    border-radius: 0;
    border: 1px solid #000000;
    border: 1px solid rgba(0, 0, 0, 0.2);
    background-color: #fafafa;
}
input[type="text"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="url"]:hover, input[type="email"]:hover, input[type="password"]:hover, input[type="datetime"]:hover, input[type="date"]:hover, input[type="month"]:hover, input[type="week"]:hover, input[type="datetime-local"]:hover, input[type="number"]:hover, input[type="file"]:hover, textarea:hover, select:hover, option:hover {

    }
input[type="text"]:active,
    input[type="text"]:focus,
    input[type="search"]:active,
    input[type="search"]:focus,
    input[type="tel"]:active,
    input[type="tel"]:focus,
    input[type="url"]:active,
    input[type="url"]:focus,
    input[type="email"]:active,
    input[type="email"]:focus,
    input[type="password"]:active,
    input[type="password"]:focus,
    input[type="datetime"]:active,
    input[type="datetime"]:focus,
    input[type="date"]:active,
    input[type="date"]:focus,
    input[type="month"]:active,
    input[type="month"]:focus,
    input[type="week"]:active,
    input[type="week"]:focus,
    input[type="datetime-local"]:active,
    input[type="datetime-local"]:focus,
    input[type="number"]:active,
    input[type="number"]:focus,
    input[type="file"]:active,
    input[type="file"]:focus,
    textarea:active,
    textarea:focus,
    select:active,
    select:focus,
    option:active,
    option:focus {
        outline: none;
        /* -webkit- */
        /* box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.05) inset; */
        border-color: #28f;
        box-shadow: 0 0 0 1px inset #28f;
        background-color: #fff;
    }
input[type="text"]:disabled,
    input[type="text"][readonly],
    input[type="search"]:disabled,
    input[type="search"][readonly],
    input[type="tel"]:disabled,
    input[type="tel"][readonly],
    input[type="url"]:disabled,
    input[type="url"][readonly],
    input[type="email"]:disabled,
    input[type="email"][readonly],
    input[type="password"]:disabled,
    input[type="password"][readonly],
    input[type="datetime"]:disabled,
    input[type="datetime"][readonly],
    input[type="date"]:disabled,
    input[type="date"][readonly],
    input[type="month"]:disabled,
    input[type="month"][readonly],
    input[type="week"]:disabled,
    input[type="week"][readonly],
    input[type="datetime-local"]:disabled,
    input[type="datetime-local"][readonly],
    input[type="number"]:disabled,
    input[type="number"][readonly],
    input[type="file"]:disabled,
    input[type="file"][readonly],
    textarea:disabled,
    textarea[readonly],
    select:disabled,
    select[readonly],
    option:disabled,
    option[readonly] {
        color: #000000 !important;
        color: rgba(0, 0, 0, 0.5) !important;
        background-color: #ddd !important;
        border-color: #000000 !important;
        border-color: rgba(0, 0, 0, 0.2) !important;
        box-shadow: none !important;
        cursor: default !important;
    }

/* テキスト系のinput */

input[type="number"] {
    width: 6em;
    min-width: 6em; /* IE対策 */
    -webkit-box-flex: 0;
            flex: 0 0 6em;
}
input[type="file"] {
    padding: calc(0.75em - 1.5px) 0.5em;
    cursor: pointer;
}

/* textarea */
textarea {
    width: 100%;
    height: 8em;
    min-height: 3em;
    resize: vertical;
    display: block;
}
@media only screen and (min-width: 480px) {
textarea {
        height: 12em
}
    }
@media only screen and (min-width: 660px) {

    }
@media only screen and (min-width: 770px) {

    }
@media only screen and (min-width: 1000px) {

    }

/* select (1行) */
select {
    /* padding-right: 32px; */
    padding-right: 24px;

    background-repeat: no-repeat;
    background-image: url(../img/common/icon-select-margin.svg);
    background-position: right center;
    background-size: 32px 16px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    line-height: 1;

    position: relative;
}
/* IEで矢印を非表示 */
select::-ms-expand {
        display: none;
    }
select option {

    }
select[value=""] {
    color: #f00;
}

/* select (複数行) */
select[size]:not([size="1"]),
select[multiple] {
    padding: 0;
    background-image: none;
    overflow: auto;
}
select[size]:not([size="1"]) option, select[multiple] option {
        /* padding: 0.75em 1em; */
        border: none;
    }
select[size]:not([size="1"]) optgroup, select[multiple] optgroup {
        padding: 0.5em 0;
        color: #ccc;
        font-size: 0.85em;
        font-weight: normal;
        text-indent: 5px;
    }
select[size]:not([size="1"]) optgroup > option, select[multiple] optgroup > option {
            padding-left: 0;
            padding-right: 0;
            color: #222;
            font-size: 16px;
            font-size: 1rem;
            text-indent: 0;
        }
select[size]:not([size="1"]) optgroup > option::before, select[multiple] optgroup > option::before {
            content: "";
            width: 1em;
            display: inline-block;
        }
select[size]:not([size="1"]) optgroup > option:first-child, select[multiple] optgroup > option:first-child {
            margin-top: 5px;
            border-top: 1px dotted #ccc;
        }
select[size]:not([size="1"]) optgroup:not(:first-child), select[multiple] optgroup:not(:first-child) {
        border-top: 1px dotted #ccc;
    }
select[size]:not([size="1"]) optgroup:last-child, select[multiple] optgroup:last-child {
        padding-bottom: 0;
    }


/* バリデーション */
/* 失敗、エラー */
input[type="text"].is-invalid, input[type="search"].is-invalid, input[type="tel"].is-invalid, input[type="url"].is-invalid, input[type="email"].is-invalid, input[type="password"].is-invalid, input[type="datetime"].is-invalid, input[type="date"].is-invalid, input[type="month"].is-invalid, input[type="week"].is-invalid, input[type="datetime-local"].is-invalid, input[type="number"].is-invalid, input[type="file"].is-invalid, textarea.is-invalid, select.is-invalid {
        color: #ec5858;
        border-color: #ec5858;
        background-color: #fffafa;
    }
input[type="text"].is-invalid:hover, input[type="search"].is-invalid:hover, input[type="tel"].is-invalid:hover, input[type="url"].is-invalid:hover, input[type="email"].is-invalid:hover, input[type="password"].is-invalid:hover, input[type="datetime"].is-invalid:hover, input[type="date"].is-invalid:hover, input[type="month"].is-invalid:hover, input[type="week"].is-invalid:hover, input[type="datetime-local"].is-invalid:hover, input[type="number"].is-invalid:hover, input[type="file"].is-invalid:hover, textarea.is-invalid:hover, select.is-invalid:hover {

        }
input[type="text"].is-invalid:active,
        input[type="text"].is-invalid:focus,
        input[type="search"].is-invalid:active,
        input[type="search"].is-invalid:focus,
        input[type="tel"].is-invalid:active,
        input[type="tel"].is-invalid:focus,
        input[type="url"].is-invalid:active,
        input[type="url"].is-invalid:focus,
        input[type="email"].is-invalid:active,
        input[type="email"].is-invalid:focus,
        input[type="password"].is-invalid:active,
        input[type="password"].is-invalid:focus,
        input[type="datetime"].is-invalid:active,
        input[type="datetime"].is-invalid:focus,
        input[type="date"].is-invalid:active,
        input[type="date"].is-invalid:focus,
        input[type="month"].is-invalid:active,
        input[type="month"].is-invalid:focus,
        input[type="week"].is-invalid:active,
        input[type="week"].is-invalid:focus,
        input[type="datetime-local"].is-invalid:active,
        input[type="datetime-local"].is-invalid:focus,
        input[type="number"].is-invalid:active,
        input[type="number"].is-invalid:focus,
        input[type="file"].is-invalid:active,
        input[type="file"].is-invalid:focus,
        textarea.is-invalid:active,
        textarea.is-invalid:focus,
        select.is-invalid:active,
        select.is-invalid:focus {
            background-color: #fff;
            box-shadow: 0 0 0 1px inset #ec5858;
        }
input[type="text"].is-invalid:disabled,
        input[type="text"].is-invalid[readonly],
        input[type="search"].is-invalid:disabled,
        input[type="search"].is-invalid[readonly],
        input[type="tel"].is-invalid:disabled,
        input[type="tel"].is-invalid[readonly],
        input[type="url"].is-invalid:disabled,
        input[type="url"].is-invalid[readonly],
        input[type="email"].is-invalid:disabled,
        input[type="email"].is-invalid[readonly],
        input[type="password"].is-invalid:disabled,
        input[type="password"].is-invalid[readonly],
        input[type="datetime"].is-invalid:disabled,
        input[type="datetime"].is-invalid[readonly],
        input[type="date"].is-invalid:disabled,
        input[type="date"].is-invalid[readonly],
        input[type="month"].is-invalid:disabled,
        input[type="month"].is-invalid[readonly],
        input[type="week"].is-invalid:disabled,
        input[type="week"].is-invalid[readonly],
        input[type="datetime-local"].is-invalid:disabled,
        input[type="datetime-local"].is-invalid[readonly],
        input[type="number"].is-invalid:disabled,
        input[type="number"].is-invalid[readonly],
        input[type="file"].is-invalid:disabled,
        input[type="file"].is-invalid[readonly],
        textarea.is-invalid:disabled,
        textarea.is-invalid[readonly],
        select.is-invalid:disabled,
        select.is-invalid[readonly] {

        }
/* placeholder */
input[type="text"].is-invalid::-webkit-input-placeholder, input[type="search"].is-invalid::-webkit-input-placeholder, input[type="tel"].is-invalid::-webkit-input-placeholder, input[type="url"].is-invalid::-webkit-input-placeholder, input[type="email"].is-invalid::-webkit-input-placeholder, input[type="password"].is-invalid::-webkit-input-placeholder, input[type="datetime"].is-invalid::-webkit-input-placeholder, input[type="date"].is-invalid::-webkit-input-placeholder, input[type="month"].is-invalid::-webkit-input-placeholder, input[type="week"].is-invalid::-webkit-input-placeholder, input[type="datetime-local"].is-invalid::-webkit-input-placeholder, input[type="number"].is-invalid::-webkit-input-placeholder, input[type="file"].is-invalid::-webkit-input-placeholder, textarea.is-invalid::-webkit-input-placeholder, select.is-invalid::-webkit-input-placeholder {
            color: #ec5858;
            color: rgba(236,88,88, 0.35);
        }
input[type="text"].is-invalid::-moz-placeholder, input[type="search"].is-invalid::-moz-placeholder, input[type="tel"].is-invalid::-moz-placeholder, input[type="url"].is-invalid::-moz-placeholder, input[type="email"].is-invalid::-moz-placeholder, input[type="password"].is-invalid::-moz-placeholder, input[type="datetime"].is-invalid::-moz-placeholder, input[type="date"].is-invalid::-moz-placeholder, input[type="month"].is-invalid::-moz-placeholder, input[type="week"].is-invalid::-moz-placeholder, input[type="datetime-local"].is-invalid::-moz-placeholder, input[type="number"].is-invalid::-moz-placeholder, input[type="file"].is-invalid::-moz-placeholder, textarea.is-invalid::-moz-placeholder, select.is-invalid::-moz-placeholder {
            color: #ec5858;
            color: rgba(236,88,88, 0.35);
            opacity: 1;
        }
input[type="text"].is-invalid:-ms-input-placeholder, input[type="search"].is-invalid:-ms-input-placeholder, input[type="tel"].is-invalid:-ms-input-placeholder, input[type="url"].is-invalid:-ms-input-placeholder, input[type="email"].is-invalid:-ms-input-placeholder, input[type="password"].is-invalid:-ms-input-placeholder, input[type="datetime"].is-invalid:-ms-input-placeholder, input[type="date"].is-invalid:-ms-input-placeholder, input[type="month"].is-invalid:-ms-input-placeholder, input[type="week"].is-invalid:-ms-input-placeholder, input[type="datetime-local"].is-invalid:-ms-input-placeholder, input[type="number"].is-invalid:-ms-input-placeholder, input[type="file"].is-invalid:-ms-input-placeholder, textarea.is-invalid:-ms-input-placeholder, select.is-invalid:-ms-input-placeholder {
            color: #ec5858;
            color: rgba(236,88,88, 0.35);
        }
input[type="text"].is-invalid:input-placeholder, input[type="search"].is-invalid:input-placeholder, input[type="tel"].is-invalid:input-placeholder, input[type="url"].is-invalid:input-placeholder, input[type="email"].is-invalid:input-placeholder, input[type="password"].is-invalid:input-placeholder, input[type="datetime"].is-invalid:input-placeholder, input[type="date"].is-invalid:input-placeholder, input[type="month"].is-invalid:input-placeholder, input[type="week"].is-invalid:input-placeholder, input[type="datetime-local"].is-invalid:input-placeholder, input[type="number"].is-invalid:input-placeholder, input[type="file"].is-invalid:input-placeholder, textarea.is-invalid:input-placeholder, select.is-invalid:input-placeholder {
            color: #ec5858;
            color: rgba(236,88,88, 0.35);
        }
input[type="text"].is-invalid:focus::-webkit-input-placeholder, input[type="search"].is-invalid:focus::-webkit-input-placeholder, input[type="tel"].is-invalid:focus::-webkit-input-placeholder, input[type="url"].is-invalid:focus::-webkit-input-placeholder, input[type="email"].is-invalid:focus::-webkit-input-placeholder, input[type="password"].is-invalid:focus::-webkit-input-placeholder, input[type="datetime"].is-invalid:focus::-webkit-input-placeholder, input[type="date"].is-invalid:focus::-webkit-input-placeholder, input[type="month"].is-invalid:focus::-webkit-input-placeholder, input[type="week"].is-invalid:focus::-webkit-input-placeholder, input[type="datetime-local"].is-invalid:focus::-webkit-input-placeholder, input[type="number"].is-invalid:focus::-webkit-input-placeholder, input[type="file"].is-invalid:focus::-webkit-input-placeholder, textarea.is-invalid:focus::-webkit-input-placeholder, select.is-invalid:focus::-webkit-input-placeholder {
            color: #ec5858;
            color: rgba(236,88,88, 0.65);
        }
input[type="text"].is-invalid:focus::-moz-placeholder, input[type="search"].is-invalid:focus::-moz-placeholder, input[type="tel"].is-invalid:focus::-moz-placeholder, input[type="url"].is-invalid:focus::-moz-placeholder, input[type="email"].is-invalid:focus::-moz-placeholder, input[type="password"].is-invalid:focus::-moz-placeholder, input[type="datetime"].is-invalid:focus::-moz-placeholder, input[type="date"].is-invalid:focus::-moz-placeholder, input[type="month"].is-invalid:focus::-moz-placeholder, input[type="week"].is-invalid:focus::-moz-placeholder, input[type="datetime-local"].is-invalid:focus::-moz-placeholder, input[type="number"].is-invalid:focus::-moz-placeholder, input[type="file"].is-invalid:focus::-moz-placeholder, textarea.is-invalid:focus::-moz-placeholder, select.is-invalid:focus::-moz-placeholder {
            color: #ec5858;
            color: rgba(236,88,88, 0.65);
            opacity: 1;
        }
input[type="text"].is-invalid:focus:-ms-input-placeholder, input[type="search"].is-invalid:focus:-ms-input-placeholder, input[type="tel"].is-invalid:focus:-ms-input-placeholder, input[type="url"].is-invalid:focus:-ms-input-placeholder, input[type="email"].is-invalid:focus:-ms-input-placeholder, input[type="password"].is-invalid:focus:-ms-input-placeholder, input[type="datetime"].is-invalid:focus:-ms-input-placeholder, input[type="date"].is-invalid:focus:-ms-input-placeholder, input[type="month"].is-invalid:focus:-ms-input-placeholder, input[type="week"].is-invalid:focus:-ms-input-placeholder, input[type="datetime-local"].is-invalid:focus:-ms-input-placeholder, input[type="number"].is-invalid:focus:-ms-input-placeholder, input[type="file"].is-invalid:focus:-ms-input-placeholder, textarea.is-invalid:focus:-ms-input-placeholder, select.is-invalid:focus:-ms-input-placeholder {
            color: #ec5858;
            color: rgba(236,88,88, 0.65);
        }
input[type="text"].is-invalid:focus:input-placeholder, input[type="search"].is-invalid:focus:input-placeholder, input[type="tel"].is-invalid:focus:input-placeholder, input[type="url"].is-invalid:focus:input-placeholder, input[type="email"].is-invalid:focus:input-placeholder, input[type="password"].is-invalid:focus:input-placeholder, input[type="datetime"].is-invalid:focus:input-placeholder, input[type="date"].is-invalid:focus:input-placeholder, input[type="month"].is-invalid:focus:input-placeholder, input[type="week"].is-invalid:focus:input-placeholder, input[type="datetime-local"].is-invalid:focus:input-placeholder, input[type="number"].is-invalid:focus:input-placeholder, input[type="file"].is-invalid:focus:input-placeholder, textarea.is-invalid:focus:input-placeholder, select.is-invalid:focus:input-placeholder {
            color: #ec5858;
            color: rgba(236,88,88, 0.65);
        }
/* 成功 */
input[type="text"].is-valid, input[type="search"].is-valid, input[type="tel"].is-valid, input[type="url"].is-valid, input[type="email"].is-valid, input[type="password"].is-valid, input[type="datetime"].is-valid, input[type="date"].is-valid, input[type="month"].is-valid, input[type="week"].is-valid, input[type="datetime-local"].is-valid, input[type="number"].is-valid, input[type="file"].is-valid, textarea.is-valid, select.is-valid {
        color: #6bc55d;
        border-color: #6bc55d;
        background-color: #fafff9;
    }
input[type="text"].is-valid:hover, input[type="search"].is-valid:hover, input[type="tel"].is-valid:hover, input[type="url"].is-valid:hover, input[type="email"].is-valid:hover, input[type="password"].is-valid:hover, input[type="datetime"].is-valid:hover, input[type="date"].is-valid:hover, input[type="month"].is-valid:hover, input[type="week"].is-valid:hover, input[type="datetime-local"].is-valid:hover, input[type="number"].is-valid:hover, input[type="file"].is-valid:hover, textarea.is-valid:hover, select.is-valid:hover {

        }
input[type="text"].is-valid:active,
        input[type="text"].is-valid:focus,
        input[type="search"].is-valid:active,
        input[type="search"].is-valid:focus,
        input[type="tel"].is-valid:active,
        input[type="tel"].is-valid:focus,
        input[type="url"].is-valid:active,
        input[type="url"].is-valid:focus,
        input[type="email"].is-valid:active,
        input[type="email"].is-valid:focus,
        input[type="password"].is-valid:active,
        input[type="password"].is-valid:focus,
        input[type="datetime"].is-valid:active,
        input[type="datetime"].is-valid:focus,
        input[type="date"].is-valid:active,
        input[type="date"].is-valid:focus,
        input[type="month"].is-valid:active,
        input[type="month"].is-valid:focus,
        input[type="week"].is-valid:active,
        input[type="week"].is-valid:focus,
        input[type="datetime-local"].is-valid:active,
        input[type="datetime-local"].is-valid:focus,
        input[type="number"].is-valid:active,
        input[type="number"].is-valid:focus,
        input[type="file"].is-valid:active,
        input[type="file"].is-valid:focus,
        textarea.is-valid:active,
        textarea.is-valid:focus,
        select.is-valid:active,
        select.is-valid:focus {
            background-color: #fff;
            box-shadow: 0 0 0 1px inset #6bc55d;
        }
input[type="text"].is-valid:disabled,
        input[type="text"].is-valid[readonly],
        input[type="search"].is-valid:disabled,
        input[type="search"].is-valid[readonly],
        input[type="tel"].is-valid:disabled,
        input[type="tel"].is-valid[readonly],
        input[type="url"].is-valid:disabled,
        input[type="url"].is-valid[readonly],
        input[type="email"].is-valid:disabled,
        input[type="email"].is-valid[readonly],
        input[type="password"].is-valid:disabled,
        input[type="password"].is-valid[readonly],
        input[type="datetime"].is-valid:disabled,
        input[type="datetime"].is-valid[readonly],
        input[type="date"].is-valid:disabled,
        input[type="date"].is-valid[readonly],
        input[type="month"].is-valid:disabled,
        input[type="month"].is-valid[readonly],
        input[type="week"].is-valid:disabled,
        input[type="week"].is-valid[readonly],
        input[type="datetime-local"].is-valid:disabled,
        input[type="datetime-local"].is-valid[readonly],
        input[type="number"].is-valid:disabled,
        input[type="number"].is-valid[readonly],
        input[type="file"].is-valid:disabled,
        input[type="file"].is-valid[readonly],
        textarea.is-valid:disabled,
        textarea.is-valid[readonly],
        select.is-valid:disabled,
        select.is-valid[readonly] {

        }
/* placeholder */
input[type="text"].is-valid::-webkit-input-placeholder, input[type="search"].is-valid::-webkit-input-placeholder, input[type="tel"].is-valid::-webkit-input-placeholder, input[type="url"].is-valid::-webkit-input-placeholder, input[type="email"].is-valid::-webkit-input-placeholder, input[type="password"].is-valid::-webkit-input-placeholder, input[type="datetime"].is-valid::-webkit-input-placeholder, input[type="date"].is-valid::-webkit-input-placeholder, input[type="month"].is-valid::-webkit-input-placeholder, input[type="week"].is-valid::-webkit-input-placeholder, input[type="datetime-local"].is-valid::-webkit-input-placeholder, input[type="number"].is-valid::-webkit-input-placeholder, input[type="file"].is-valid::-webkit-input-placeholder, textarea.is-valid::-webkit-input-placeholder, select.is-valid::-webkit-input-placeholder {
            color: #6bc55d;
            color: rgba(107,197,93, 0.35);
        }
input[type="text"].is-valid::-moz-placeholder, input[type="search"].is-valid::-moz-placeholder, input[type="tel"].is-valid::-moz-placeholder, input[type="url"].is-valid::-moz-placeholder, input[type="email"].is-valid::-moz-placeholder, input[type="password"].is-valid::-moz-placeholder, input[type="datetime"].is-valid::-moz-placeholder, input[type="date"].is-valid::-moz-placeholder, input[type="month"].is-valid::-moz-placeholder, input[type="week"].is-valid::-moz-placeholder, input[type="datetime-local"].is-valid::-moz-placeholder, input[type="number"].is-valid::-moz-placeholder, input[type="file"].is-valid::-moz-placeholder, textarea.is-valid::-moz-placeholder, select.is-valid::-moz-placeholder {
            color: #6bc55d;
            color: rgba(107,197,93, 0.35);
            opacity: 1;
        }
input[type="text"].is-valid:-ms-input-placeholder, input[type="search"].is-valid:-ms-input-placeholder, input[type="tel"].is-valid:-ms-input-placeholder, input[type="url"].is-valid:-ms-input-placeholder, input[type="email"].is-valid:-ms-input-placeholder, input[type="password"].is-valid:-ms-input-placeholder, input[type="datetime"].is-valid:-ms-input-placeholder, input[type="date"].is-valid:-ms-input-placeholder, input[type="month"].is-valid:-ms-input-placeholder, input[type="week"].is-valid:-ms-input-placeholder, input[type="datetime-local"].is-valid:-ms-input-placeholder, input[type="number"].is-valid:-ms-input-placeholder, input[type="file"].is-valid:-ms-input-placeholder, textarea.is-valid:-ms-input-placeholder, select.is-valid:-ms-input-placeholder {
            color: #6bc55d;
            color: rgba(107,197,93, 0.35);
        }
input[type="text"].is-valid:input-placeholder, input[type="search"].is-valid:input-placeholder, input[type="tel"].is-valid:input-placeholder, input[type="url"].is-valid:input-placeholder, input[type="email"].is-valid:input-placeholder, input[type="password"].is-valid:input-placeholder, input[type="datetime"].is-valid:input-placeholder, input[type="date"].is-valid:input-placeholder, input[type="month"].is-valid:input-placeholder, input[type="week"].is-valid:input-placeholder, input[type="datetime-local"].is-valid:input-placeholder, input[type="number"].is-valid:input-placeholder, input[type="file"].is-valid:input-placeholder, textarea.is-valid:input-placeholder, select.is-valid:input-placeholder {
            color: #6bc55d;
            color: rgba(107,197,93, 0.35);
        }
input[type="text"].is-valid:focus::-webkit-input-placeholder, input[type="search"].is-valid:focus::-webkit-input-placeholder, input[type="tel"].is-valid:focus::-webkit-input-placeholder, input[type="url"].is-valid:focus::-webkit-input-placeholder, input[type="email"].is-valid:focus::-webkit-input-placeholder, input[type="password"].is-valid:focus::-webkit-input-placeholder, input[type="datetime"].is-valid:focus::-webkit-input-placeholder, input[type="date"].is-valid:focus::-webkit-input-placeholder, input[type="month"].is-valid:focus::-webkit-input-placeholder, input[type="week"].is-valid:focus::-webkit-input-placeholder, input[type="datetime-local"].is-valid:focus::-webkit-input-placeholder, input[type="number"].is-valid:focus::-webkit-input-placeholder, input[type="file"].is-valid:focus::-webkit-input-placeholder, textarea.is-valid:focus::-webkit-input-placeholder, select.is-valid:focus::-webkit-input-placeholder {
            color: #6bc55d;
            color: rgba(107,197,93, 0.65);
        }
input[type="text"].is-valid:focus::-moz-placeholder, input[type="search"].is-valid:focus::-moz-placeholder, input[type="tel"].is-valid:focus::-moz-placeholder, input[type="url"].is-valid:focus::-moz-placeholder, input[type="email"].is-valid:focus::-moz-placeholder, input[type="password"].is-valid:focus::-moz-placeholder, input[type="datetime"].is-valid:focus::-moz-placeholder, input[type="date"].is-valid:focus::-moz-placeholder, input[type="month"].is-valid:focus::-moz-placeholder, input[type="week"].is-valid:focus::-moz-placeholder, input[type="datetime-local"].is-valid:focus::-moz-placeholder, input[type="number"].is-valid:focus::-moz-placeholder, input[type="file"].is-valid:focus::-moz-placeholder, textarea.is-valid:focus::-moz-placeholder, select.is-valid:focus::-moz-placeholder {
            color: #6bc55d;
            color: rgba(107,197,93, 0.65);
            opacity: 1;
        }
input[type="text"].is-valid:focus:-ms-input-placeholder, input[type="search"].is-valid:focus:-ms-input-placeholder, input[type="tel"].is-valid:focus:-ms-input-placeholder, input[type="url"].is-valid:focus:-ms-input-placeholder, input[type="email"].is-valid:focus:-ms-input-placeholder, input[type="password"].is-valid:focus:-ms-input-placeholder, input[type="datetime"].is-valid:focus:-ms-input-placeholder, input[type="date"].is-valid:focus:-ms-input-placeholder, input[type="month"].is-valid:focus:-ms-input-placeholder, input[type="week"].is-valid:focus:-ms-input-placeholder, input[type="datetime-local"].is-valid:focus:-ms-input-placeholder, input[type="number"].is-valid:focus:-ms-input-placeholder, input[type="file"].is-valid:focus:-ms-input-placeholder, textarea.is-valid:focus:-ms-input-placeholder, select.is-valid:focus:-ms-input-placeholder {
            color: #6bc55d;
            color: rgba(107,197,93, 0.65);
        }
input[type="text"].is-valid:focus:input-placeholder, input[type="search"].is-valid:focus:input-placeholder, input[type="tel"].is-valid:focus:input-placeholder, input[type="url"].is-valid:focus:input-placeholder, input[type="email"].is-valid:focus:input-placeholder, input[type="password"].is-valid:focus:input-placeholder, input[type="datetime"].is-valid:focus:input-placeholder, input[type="date"].is-valid:focus:input-placeholder, input[type="month"].is-valid:focus:input-placeholder, input[type="week"].is-valid:focus:input-placeholder, input[type="datetime-local"].is-valid:focus:input-placeholder, input[type="number"].is-valid:focus:input-placeholder, input[type="file"].is-valid:focus:input-placeholder, textarea.is-valid:focus:input-placeholder, select.is-valid:focus:input-placeholder {
            color: #6bc55d;
            color: rgba(107,197,93, 0.65);
        }



/* ラジオボタン、チェックボックス */
/*----------------------------------------------------------------------------*/

/* ラジオボタン、チェックボックスを囲んでいるlabel */
.field-radio,
.field-checkbox {
    flex-wrap: wrap;
    -webkit-box-align: baseline;
            align-items: baseline;
    margin: 0.5em -0.5em;

    /* 「.field > *」のmargin、paddingをキャンセル */
    /* 将来的にはjQueryを使用せず */
    /* :focus-withinで対応可能。 */
    /* & > label:active, */
    /* & > label:focus-within, */
}
/*
    & > label,
    & > label:not(:first-child),
    & > label:not(:last-child) {
        margin: 0;
        padding: 0.5em;
    }
    */
.field-radio > *,
    .field-radio > *:not(:first-child),
    .field-radio > *:not(:last-child),
    .field-checkbox > *,
    .field-checkbox > *:not(:first-child),
    .field-checkbox > *:not(:last-child) {
        margin: 0;
        padding: 0.5em;
        -webkit-box-flex: 0;
                flex: 0 0 auto;
    }
/* WordPress MW WP Form */
.field-radio > .mwform-radio-field,
    .field-radio > .mwform-checkbox-field,
    .field-checkbox > .mwform-radio-field,
    .field-checkbox > .mwform-checkbox-field {
        margin: 0 !important;
    }
.field-radio > .mwform-radio-field.vertical-item, .field-radio > .mwform-checkbox-field.vertical-item, .field-checkbox > .mwform-radio-field.vertical-item, .field-checkbox > .mwform-checkbox-field.vertical-item {
            -webkit-box-flex: 1;
                    flex-grow: 1;
            flex-shrink: 1;
            flex-basis: calc(100% - 0.5em - 0.5em);
        }
/* & > label { */
.field-radio label, .field-checkbox label {
        /* MW WP Formではみ出るのでコメントアウト */
        /* max-width: calc(100% - 0.5em - 0.5em); */
        color: #222;
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
                align-items: center;
        /* IEでラジオボタンが横方向に潰れる */
        /* flex: 0 1 7em; */
        /* flex: 0 0 auto; */
        cursor: pointer;
        white-space: nowrap;
    }
.field-radio label .icon, .field-checkbox label .icon {
            /* flex: 0 0 1.5rem; */
        }
.field-radio label span, .field-checkbox label span {
            -webkit-box-flex: 1;
                    flex: 1 1 calc(100% - 1.75rem);
        }
/* & > label:hover { */
.field-radio label:hover, .field-checkbox label:hover {

    }
/* & > label.focus { */
.field-radio label:active,
    .field-radio label:focus-within,
    .field-radio label.focus,
    .field-checkbox label:active,
    .field-checkbox label:focus-within,
    .field-checkbox label.focus {

    }
/* & > label.disabled { */
.field-radio label.disabled,
        .field-radio label.disabled *,
        .field-radio label.disabled input[type="radio"],
        .field-radio label.disabled input[type="checkbox"],
        .field-checkbox label.disabled,
        .field-checkbox label.disabled *,
        .field-checkbox label.disabled input[type="radio"],
        .field-checkbox label.disabled input[type="checkbox"] {
            color: #ddd;
            cursor: default;
        }

.field-radio-vertical,
.field-checkbox-vertical {
    display: block;
}

/*
// フォントで実装
// radio、checkbox共通
input[type="radio"],
input[type="checkbox"] {
    margin-right: 1rem;
    cursor: pointer;

    &.before-icon {
        margin: 0;
        opacity: 0;
        width: 1rem;
        height: 1rem;
        font-size: 1rem;

        & + .icon {
            margin: 0 0.25rem 0 -1rem;
            padding: 0;
            font-size: 1.5rem;
            width: 1.5rem;
            height: 1.5rem;
            line-height: 1;
            vertical-align: inherit;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        & + .icon::before {
            font-size: 1.25rem;
            margin: 0;
            display: block;

        }

        & ~ * {
            color: $color-gray;
        }
        &:checked {
            & + .icon::before,
            & ~ * {
                color: $color-btn;
            }
        }

        // Firefoxでは「:read-only」はdisabled以外のときも適用されてしまう
        &:disabled,
        &[readonly] {
            &:checked {
                & + .icon::before,
                & ~ * {
                    color: #ddd;
                    cursor: default;
                }
            }
        }
    }
}

// radio
input[type="radio"].before-icon {
    & + .icon::before {
        @mixin icon-radio;
    }
    &:checked + .icon::before {
        @mixin icon-radio-checked-fill;
    }
}

// checkbox
input[type="checkbox"].before-icon {
    & + .icon::before {
        @mixin icon-checkbox-round;
    }
    &:checked + .icon::before {
        @mixin icon-checkbox-round-checked-fill;
    }
}
*/


/* CSSで実装 */
/* radio、checkbox共通 */
input[type="radio"],
input[type="checkbox"] {
    margin-right: 16px;
    margin-right: 1rem;
    cursor: pointer;
}
input[type="radio"].before-icon, input[type="checkbox"].before-icon {
        margin: 0;
        opacity: 0;
        width: 16px;
        width: 1rem;
        height: 16px;
        height: 1rem;
        font-size: 16px;
        font-size: 1rem;
    }
input[type="radio"].before-icon + .icon, input[type="checkbox"].before-icon + .icon {
            margin: 0 8px 0 -16px;
            margin: 0 0.5rem 0 -1rem;
            padding: 0;
            -webkit-box-flex: 0;
                    flex: 0 0 24px;
                    flex: 0 0 1.5rem;
            font-size: 24px;
            font-size: 1.5rem;
            width: 24px;
            width: 1.5rem;
            height: 24px;
            height: 1.5rem;
            line-height: 1;
            vertical-align: inherit;
            display: -webkit-box;
            display: flex;
            -webkit-box-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                    justify-content: center;
        }
input[type="radio"].before-icon + .icon::before, input[type="checkbox"].before-icon + .icon::before {
            -webkit-transform: none;
                    transform: none;
            display: block;
        }

/* radio */
input[type="radio"].before-icon + .icon {
        border-radius: 50%;

        box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2) inset;
        background-color: #fafafa;
        box-sizing: border-box;
        overflow: hidden;

        position: relative;
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
                align-items: center;
        -webkit-box-pack: center;
                justify-content: center;
    }
input[type="radio"].before-icon + .icon::before {
            content: "";
            margin: auto;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background-color: transparent;
            display: block;
            -webkit-transform: scale(0.5);
                    transform: scale(0.5);
        }
input[type="radio"].before-icon:checked + .icon {
        background-color: #fff;
        box-shadow: 0 0 0 2px #222 inset;
    }
input[type="radio"].before-icon:checked + .icon::before {
            background-color: #222222;
            background-color: rgba(34,34,34, 0.75);
        }
/* focus */
input[type="radio"].before-icon:focus {
        outline: none;
    }
input[type="radio"].before-icon:active + .icon, input[type="radio"].before-icon:focus + .icon {
            box-shadow: 0 0 0 2px #28f inset;
        }
input[type="radio"].before-icon:active + .icon::before, input[type="radio"].before-icon:focus + .icon::before {

            }
input[type="radio"].before-icon:active:checked + .icon::before, input[type="radio"].before-icon:focus:checked + .icon::before {
                background-color: #2288ff;
                background-color: rgba(34,136,255, 0.75);
            }
/* disabled */
input[type="radio"].before-icon:disabled + .icon, input[type="radio"].before-icon[readonly] + .icon {
            background-color: #ddd;
            box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2) inset;
            color: #ddd;
            cursor: default;
        }
input[type="radio"].before-icon:disabled + .icon::before, input[type="radio"].before-icon[readonly] + .icon::before {

            }
input[type="radio"].before-icon:disabled:checked + .icon::before, input[type="radio"].before-icon[readonly]:checked + .icon::before {
                background-color: #000000;
                background-color: rgba(0, 0, 0, 0.2);
            }

/* checkbox */
input[type="checkbox"].before-icon + .icon {
        border-radius: 10%;

        box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2) inset;
        background-color: #fafafa;
        box-sizing: border-box;
        overflow: hidden;

        position: relative;
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
                align-items: center;
        -webkit-box-pack: center;
                justify-content: center;
    }
input[type="checkbox"].before-icon + .icon::before {
            content: "";
            width: 90%;
            height: 40%;
            /* background: #f00; */
            border-left: 4px solid transparent;
            border-bottom: 4px solid transparent;
            display: block;
            box-sizing: border-box;
            -webkit-transform: translate(10%, -40%) rotate(-45deg);
                    transform: translate(10%, -40%) rotate(-45deg);
        }
input[type="checkbox"].before-icon:checked + .icon {
        background-color: #fff;
        box-shadow: 0 0 0 2px #222 inset;
    }
input[type="checkbox"].before-icon:checked + .icon::before {
            border-color: #222222;
            border-color: rgba(34,34,34, 0.75);
        }
/* focus */
input[type="checkbox"].before-icon:focus {
        outline: none;
    }
input[type="checkbox"].before-icon:active + .icon, input[type="checkbox"].before-icon:focus + .icon {
            box-shadow: 0 0 0 2px #28f inset;
        }
input[type="checkbox"].before-icon:active + .icon::before, input[type="checkbox"].before-icon:focus + .icon::before {

            }
input[type="checkbox"].before-icon:active:checked + .icon::before, input[type="checkbox"].before-icon:focus:checked + .icon::before {
                border-color: #2288ff;
                border-color: rgba(34,136,255, 0.75);
            }
/* disabled */
input[type="checkbox"].before-icon:disabled + .icon, input[type="checkbox"].before-icon[readonly] + .icon {
            background-color: #ddd;
            box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2) inset;
            color: #ddd;
            cursor: default;
        }
input[type="checkbox"].before-icon:disabled + .icon::before, input[type="checkbox"].before-icon[readonly] + .icon::before {

            }
input[type="checkbox"].before-icon:disabled:checked + .icon::before, input[type="checkbox"].before-icon[readonly]:checked + .icon::before {
                border-color: #000000;
                border-color: rgba(0, 0, 0, 0.2);
            }


/* バリデーション */
/* 失敗、エラー */
input[type="radio"].before-icon.is-invalid + .icon {
            box-shadow: 0 0 0 2px rgba(236,88,88, 0.25) inset;
            background-color: #fffafa;
        }
input[type="radio"].before-icon.is-invalid:checked + .icon {
            background-color: #fff;
            box-shadow: 0 0 0 2px #ec5858 inset;
        }
input[type="radio"].before-icon.is-invalid:checked + .icon::before {
                background-color: #ec5858;
            }
/* focus */
input[type="radio"].before-icon.is-invalid:active + .icon, input[type="radio"].before-icon.is-invalid:focus + .icon {
                background: #ec5858;
                background: rgba(236,88,88, 0.2);
            }
input[type="radio"].before-icon.is-invalid:active + .icon::before, input[type="radio"].before-icon.is-invalid:focus + .icon::before {

                }
input[type="radio"].before-icon.is-invalid:active:checked + .icon::before, input[type="radio"].before-icon.is-invalid:focus:checked + .icon::before {

                }
/* 成功 */
input[type="radio"].before-icon.is-valid + .icon {
            box-shadow: 0 0 0 2px rgba(107,197,93, 0.25) inset;
        }
input[type="radio"].before-icon.is-valid:checked + .icon {
            background-color: #fff;
            box-shadow: 0 0 0 2px #6bc55d inset;
        }
input[type="radio"].before-icon.is-valid:checked + .icon::before {
                background-color: #6bc55d;
            }
/* focus */
input[type="radio"].before-icon.is-valid:active + .icon, input[type="radio"].before-icon.is-valid:focus + .icon {
                background: #6bc55d;
                background: rgba(107,197,93, 0.2);
            }
input[type="radio"].before-icon.is-valid:active + .icon::before, input[type="radio"].before-icon.is-valid:focus + .icon::before {

                }
input[type="radio"].before-icon.is-valid:active:checked + .icon::before, input[type="radio"].before-icon.is-valid:focus:checked + .icon::before {

                }
/* 失敗、エラー */
input[type="checkbox"].before-icon.is-invalid + .icon {
            box-shadow: 0 0 0 2px rgba(236,88,88, 0.25) inset;
            background-color: #fffafa;
        }
input[type="checkbox"].before-icon.is-invalid:checked + .icon {
            background-color: #fff;
            box-shadow: 0 0 0 2px #ec5858 inset;
        }
input[type="checkbox"].before-icon.is-invalid:checked + .icon::before {
                border-color: #ec5858;
            }
/* focus */
input[type="checkbox"].before-icon.is-invalid:active + .icon, input[type="checkbox"].before-icon.is-invalid:focus + .icon {
                background: #ec5858;
                background: rgba(236,88,88, 0.2);
            }
input[type="checkbox"].before-icon.is-invalid:active + .icon::before, input[type="checkbox"].before-icon.is-invalid:focus + .icon::before {

                }
input[type="checkbox"].before-icon.is-invalid:active:checked + .icon::before, input[type="checkbox"].before-icon.is-invalid:focus:checked + .icon::before {

                }
/* 成功 */
input[type="checkbox"].before-icon.is-valid + .icon {
            box-shadow: 0 0 0 2px rgba(107,197,93, 0.25) inset;
            background-color: #fafff9;
        }
input[type="checkbox"].before-icon.is-valid:checked + .icon {
            background-color: #fff;
            box-shadow: 0 0 0 2px #6bc55d inset;
        }
input[type="checkbox"].before-icon.is-valid:checked + .icon::before {
                border-color: #6bc55d;
            }
/* focus */
input[type="checkbox"].before-icon.is-valid:active + .icon, input[type="checkbox"].before-icon.is-valid:focus + .icon {
                background: #6bc55d;
                background: rgba(107,197,93, 0.2);
            }
input[type="checkbox"].before-icon.is-valid:active + .icon::before, input[type="checkbox"].before-icon.is-valid:focus + .icon::before {

                }
input[type="checkbox"].before-icon.is-valid:active:checked + .icon::before, input[type="checkbox"].before-icon.is-valid:focus:checked + .icon::before {

                }


/* range */
/*----------------------------------------------------------------------------*/
.field-range {
    padding: 0.75em 0;
}

/* 横線 */

/* つまみ */

input[type="range"] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    border: none;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 2px;
    background-color: #000000;
    background-color: rgba(0, 0, 0, 0.2);
    /* border-radius: 6px; */
    cursor: pointer;
    position: relative;
}

/*
    &::-webkit-slider-runnable-track {
        @mixin range-track;
    }
    */

input[type="range"]::-moz-range-track {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        outline: none;
        margin: auto 0;
        width: 100%;
        height: 2px;
        background-color: #000000;
        background-color: rgba(0, 0, 0, 0.2);
        position: absolute;
        top: 0;
        bottom: 0;
        display: block;

    }

/* 横線 */

input[type="range"]::-ms-track {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        outline: none;
        margin: auto 0;
        width: 100%;
        height: 2px;
        background-color: #000000;
        background-color: rgba(0, 0, 0, 0.2);
        position: absolute;
        top: 0;
        bottom: 0;
        display: block;
    }

/* つまみ */

input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        cursor: pointer;
        width: 1.5rem;
        height: 1.5rem;
        display: block;
        border: 2px solid #000000;
        border: 2px solid rgba(0, 0, 0, 0.2);
        background-color: #fafafa;
        border-radius: 50%;
    }

input[type="range"]::-webkit-slider-thumb:hover,
        input[type="range"]::-webkit-slider-thumb:active {
            -webkit-transform: scale(1.25);
                    transform: scale(1.25);
        }

input[type="range"]::-moz-range-thumb {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        cursor: pointer;
        width: 1.5rem;
        height: 1.5rem;
        display: block;
        border: 2px solid #000000;
        border: 2px solid rgba(0, 0, 0, 0.2);
        background-color: #fafafa;
        border-radius: 50%;
    }

input[type="range"]::-moz-range-thumb:hover,
        input[type="range"]::-moz-range-thumb:active {
            transform: scale(1.25);
        }

input[type="range"]::-ms-thumb {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        cursor: pointer;
        width: 1.5rem;
        height: 1.5rem;
        display: block;
        border: 2px solid #000000;
        border: 2px solid rgba(0, 0, 0, 0.2);
        background-color: #fafafa;
        border-radius: 50%;
    }

input[type="range"]::-ms-thumb:hover,
        input[type="range"]::-ms-thumb:active {
            transform: scale(1.25);
        }

input[type="range"]:focus {
        outline: none;
        background-color: #2288ff;
        background-color: rgba(34,136,255, 0.75);
    }

/*
        &::-webkit-slider-runnable-track {
            outline: none;
            background-color: rgba($color-link, 0.75);
        }
        */

input[type="range"]:focus::-moz-range-track {
            outline: none;
            background-color: #2288ff;
            background-color: rgba(34,136,255, 0.75);
        }

input[type="range"]:focus::-ms-track {
            outline: none;
            background-color: #2288ff;
            background-color: rgba(34,136,255, 0.75);
        }

input[type="range"]:focus::-webkit-slider-thumb {
            outline: none;
            border-color: #28f;
            -webkit-transform: scale(1.25);
                    transform: scale(1.25);
        }

input[type="range"]:focus::-moz-range-thumb {
            outline: none;
            border-color: #28f;
            transform: scale(1.25);
        }

input[type="range"]:focus::-ms-thumb {
            outline: none;
            border-color: #28f;
            transform: scale(1.25);
        }

/* disabled */

input[type="range"]:disabled,
    input[type="range"][readonly] {
        cursor: default !important;
    }

/*
        &::-webkit-slider-runnable-track {

        }
        */

input[type="range"]:disabled::-moz-range-track, input[type="range"][readonly]::-moz-range-track {

        }

/* 横線 */

input[type="range"]:disabled::-ms-track, input[type="range"][readonly]::-ms-track {

        }

/* つまみ */

input[type="range"]:disabled::-webkit-slider-thumb, input[type="range"][readonly]::-webkit-slider-thumb {
            -webkit-transform: none !important;
                    transform: none !important;
            cursor: default !important;
        }

input[type="range"]:disabled::-moz-range-thumb, input[type="range"][readonly]::-moz-range-thumb {
            transform: none !important;
            cursor: default !important;
        }

input[type="range"]:disabled::-ms-thumb, input[type="range"][readonly]::-ms-thumb {
            transform: none !important;
            cursor: default !important;
        }

/* 失敗、エラー */

input[type="range"].is-invalid {
        background-color: #ec5858;
    }

/*
        &::-webkit-slider-runnable-track {
            background-color: $color-danger;
        }
        */

input[type="range"].is-invalid::-moz-range-track {
            background-color: #ec5858;

        }

/* 横線 */

input[type="range"].is-invalid::-ms-track {
            background-color: #ec5858;
        }

/* つまみ */

input[type="range"].is-invalid::-webkit-slider-thumb {
            border-color: #ec5858;
            background-color: #fffafa;
        }

input[type="range"].is-invalid::-moz-range-thumb {
            border-color: #ec5858;
            background-color: #fffafa;
        }

input[type="range"].is-invalid::-ms-thumb {
            border-color: #ec5858;
            background-color: #fffafa;
        }

/* 成功 */

input[type="range"].is-valid {
        background-color: #6bc55d;
    }

/*
        &::-webkit-slider-runnable-track {
            background-color: $color-success;
        }
        */

input[type="range"].is-valid::-moz-range-track {
            background-color: #6bc55d;
        }

/* 横線 */

input[type="range"].is-valid::-ms-track {
            background-color: #6bc55d;
        }

/* つまみ */

input[type="range"].is-valid::-webkit-slider-thumb {
            border-color: #6bc55d;
            background-color: #fafff9;
        }

input[type="range"].is-valid::-moz-range-thumb {
            border-color: #6bc55d;
            background-color: #fafff9;
        }

input[type="range"].is-valid::-ms-thumb {
            border-color: #6bc55d;
            background-color: #fafff9;
        }


/* ファイル */
/*----------------------------------------------------------------------------*/
/* MW WP Formだと右側に余白ができる */
.field.field-file input[type="file"] {
        margin-right: 0;
        display: block;
    }
/* MW WP Formだと「×」ボタンが表示されるので消す */
.field.field-file .mwform-file-delete {
        margin-left: -0.5em;
        -webkit-box-flex: 0;
                flex: 0 0 0%;
        display: none;
    }

/* 検索 */
/*----------------------------------------------------------------------------*/
.field.field-search input {
        padding-left: 32px;

        /* padding-right: 32px; */
        background-repeat: no-repeat;
        background-image: url(../img/common/icon-search-margin.svg);
        background-position: left center;
        background-size: 32px 16px;
    }


/* 住所 */
/*----------------------------------------------------------------------------*/
.field-group-address .field > * {
            margin-left: 0;
            margin-right: 0;
        }
.field-group-address .field > *:not(:last-child) {
            margin-bottom: 0.5em;
        }
.field-group-address .field:not(:last-child) {
        margin-bottom: 1em;
    }


/* 年月日 */
/*----------------------------------------------------------------------------*/
.field-date .field-year {
        -webkit-box-flex: 3;
                flex: 3 1 0%;
    }
.field-date .field-month,
    .field-date .field-day {
        -webkit-box-flex: 2;
                flex: 2 1 0%;
    }


/* 同意チェックボックス */
/*----------------------------------------------------------------------------*/
.field.field-agree {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: center;
            justify-content: center;
}
.field.field-agree > * {
        margin: 0;
        -webkit-box-flex: 0;
                flex: 0 0 auto;
    }
.field.field-agree > label {
        margin-right: 0.5em;
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
                align-items: center;
    }
.field.field-agree > label input[type="checkbox"].before-icon {
            position: absolute;
        }
.field.field-agree > label input[type="checkbox"].before-icon + .icon {
            margin: 0;
        }
.field.field-agree > span {
        margin-left: 0;
    }


/* 画像radio */
/*----------------------------------------------------------------------------*/
.field-img-radio {
    position: relative;
}
.field-img-radio > label {
        -webkit-box-flex: 1;
                flex: 1 1 auto;
    }
.field-img-radio > label img {
            width: 100%;
        }
.field-img-radio input,
    .field-img-radio .icon {
        opacity: 0;
        position: absolute;
    }
.field-img-radio input ~ img {
        opacity: 0.5;
    }
.field-img-radio input:checked ~ img {
        opacity: 1.0;
        box-shadow: 0 0 0 4px #222 inset;
    }


/* 日付 カスタマイズ */
/*----------------------------------------------------------------------------*/
body .ui-corner-all,
    body .ui-corner-bottom,
    body .ui-corner-right,
    body .ui-corner-br {
        border-radius: 0;
    }
body .ui-datepicker {
        margin: -1em 0 0 1em;
        padding: 0;
        width: 283px;
    }
body .ui-datepicker .ui-widget-header {
            border: none;
            background: #f4f4f4;
        }
body .ui-datepicker select.ui-datepicker-month,
        body .ui-datepicker select.ui-datepicker-year {
            padding: 10px 15px;
            background-image: none;
        }
body .ui-datepicker thead th {
            border-bottom: 1px solid #ddd;
        }
body .ui-datepicker .ui-datepicker-calendar {
            margin: 0;

        }
body .ui-datepicker .ui-state-default,
        body .ui-datepicker .ui-widget-content .ui-state-default,
        body .ui-datepicker .ui-widget-header .ui-state-default {
            border-color: #ddd;
            background: #f5f5f5;
        }
body .ui-datepicker .ui-state-highlight,
        body .ui-datepicker .ui-widget-content .ui-state-highlight,
        body .ui-datepicker .ui-widget-header .ui-state-highlight {
            border-color: #28f;
            color: #28f;
            background: #def5ff;
        }

.datetimepicker-date {
    padding-right: 24px;
    background-image: url(../img/common/icon-calendar-margin.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 32px 16px;
    cursor: pointer;
}
.xdsoft_datetimepicker table {
        display: table;
    }
.xdsoft_datetimepicker table thead {
            display: table-header-group;
        }
.xdsoft_datetimepicker table tbody {
            display: table-header-group;
        }
.xdsoft_datetimepicker table tfoot {
            display: table-footer-group;
        }
.xdsoft_datetimepicker table tr {
            display: table-row;
        }
.xdsoft_datetimepicker table td,
        .xdsoft_datetimepicker table th {
            display: table-cell;
        }
@media only screen and (min-width: 0px) and (max-width: 479px) {
            .xdsoft_datetimepicker table,
            .xdsoft_datetimepicker table thead,
            .xdsoft_datetimepicker table tbody,
            .xdsoft_datetimepicker table tfoot,
            .xdsoft_datetimepicker table tr,
            .xdsoft_datetimepicker table td,
            .xdsoft_datetimepicker table th,
            .xdsoft_datetimepicker table:not(.not-responsive):not(.table-border-horizontal),
            .xdsoft_datetimepicker table:not(.not-responsive):not(.table-border-horizontal) thead,
            .xdsoft_datetimepicker table:not(.not-responsive):not(.table-border-horizontal) tbody,
            .xdsoft_datetimepicker table:not(.not-responsive):not(.table-border-horizontal) tfoot,
            .xdsoft_datetimepicker table:not(.not-responsive):not(.table-border-horizontal) tr,
            .xdsoft_datetimepicker table:not(.not-responsive):not(.table-border-horizontal) td,
            .xdsoft_datetimepicker table:not(.not-responsive):not(.table-border-horizontal) th {
                border-right-style: none;
                border-left-style: none;
            }
    }


/* バリデーション */
/*----------------------------------------------------------------------------*/
.field + .invalid-feedback,
.field + .valid-feedback {
    margin-top: 0;
    margin-bottom: 20px;
}
.field + .invalid-feedback:last-child, .field + .valid-feedback:last-child {
        margin-bottom: 0;
    }

/* アラート、メッセージ、Nag */
/* https://getbootstrap.com/docs/4.1/components/alerts/ */
/* メッセージ */
/* https://semantic-ui.com/collections/message.html */
/* Nag */
/* https://semantic-ui.com/modules/nag.html */
/*----------------------------------------------------------------------------*/
.alert {
    padding: .75em 1em;
    line-height: 1.5;
    border-radius: 4px;
    background-color: #aaa;
    color: #fff;
    box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.1);
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
}
.alert .btn {
        margin-left: auto;
        padding: 0;
        width: 2em;
        min-width: auto;
        height: 2em;
        min-height: auto;
        -webkit-box-flex: 0;
                flex: 0 0 2em;
        font-size: .5em;
        line-height: 1;
        border: none;
        border-radius: 50%;
        background-color: #000000;
        background-color: rgba(0, 0, 0, 0.2);
        color: #fff;
        box-shadow: none;
        cursor: pointer;
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
                align-items: center;
        -webkit-box-pack: center;
                justify-content: center;
    }
.alert .btn:hover {
        color: #fff;
        background-color: #000000;
        background-color: rgba(0, 0, 0, 0.5);
    }
.alert.alert-danger {
        background-color: #ec5858;
    }
.alert.alert-warning {
        background-color: #e6bd41;
    }
.alert.alert-success {
        background-color: #6bc55d;
    }

.alert-group {
    position: fixed;
    top: calc(50px + 5px);
    left: 5px;
    right: 5px;
    z-index: 10000;
}

.alert-group .alert:not(:last-child) {
        margin-bottom: 5px;
    }

@media only screen and (min-width: 480px) {

    }

@media only screen and (min-width: 660px) {

    }

@media only screen and (min-width: 770px) {

    }

@media only screen and (min-width: 1000px) {

.alert-group {
        top: calc(70px + 5px)
}
    }

.alert-group.alert-group-static {
        position: static;
    }

.alert-group.alert-group-static .alert {
            position: static;
        }

/* タグ、バッジ、ラベル(Semantic UI) */
/* https://getbootstrap.com/docs/4.1/components/alerts/ */
/* https://semantic-ui.com/elements/label.html */
/*----------------------------------------------------------------------------*/

.badge-group {
    margin: -0.25em;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    flex-wrap: wrap;
}

.badge-group > * {
        margin: 0.25em;
    }

@media only screen and (min-width: 480px) {

    }

@media only screen and (min-width: 660px) {

    }

@media only screen and (min-width: 770px) {

    }

@media only screen and (min-width: 1000px) {

    }

.badge {
    /* padding: 0.5em 1.0em; */
    /* background: #aaa; */
    /* color: #fff; */
    border: none;
    font-size: 12px;
    text-align: center;
    line-height: 1;
    box-shadow: 0 0 0 1px #222 inset;
    display: inline-block;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: center;
            justify-content: center;
    white-space: nowrap;
}

/* ボタンのサイズ */

.badge.badge-lg {
        font-size: 16px;
        font-size: 1rem;
    }

.badge.badge-sm {
        font-size: 10px;
    }

/* ボタンの形 */

.badge,
    .badge.badge-rect {
        padding: 0.5em 1.0em;
        border-radius: 4px;
    }

.badge.badge-pill {
        padding: 0.5em 1.0em;
        border-radius: calc(1em + 1em + 1em);
    }

.badge.badge-circle {
        padding: 0;
        width: 2em;
        height: 2em;
        border-radius: 2em;
    }

/* ボタンの枠線、背景色 */

.badge,
    .badge.badge-fill {
        background-color: #222;
        color: #fff;

    }

.badge.badge-outline {
        background-color: transparent;
        color: #222;
    }

.badge-danger {
    box-shadow: 0 0 0 1px #ec5858 inset;
}

.badge-danger,
    .badge-danger.badge-fill {
        background-color: #ec5858;
        color: #fff;

    }

.badge-danger.badge-outline {
        background-color: transparent;
        color: #ec5858;
    }
.badge-warning {
    box-shadow: 0 0 0 1px #e6bd41 inset;
}
.badge-warning,
    .badge-warning.badge-fill {
        background-color: #e6bd41;
        color: #fff;

    }
.badge-warning.badge-outline {
        background-color: transparent;
        color: #e6bd41;
    }
.badge-success {
    box-shadow: 0 0 0 1px #6bc55d inset;
}
.badge-success,
    .badge-success.badge-fill {
        background-color: #6bc55d;
        color: #fff;

    }
.badge-success.badge-outline {
        background-color: transparent;
        color: #6bc55d;
    }

.btn {
    border: 1px solid #00315f;
    background-color: #00315f;
    text-align: center;
    color: #ffffff !important;
    display: block;
}

.btn:hover {
        border: 1px solid #018abc;
        background-color: #018abc;
        text-decoration: none;
    }

.btn-white {
    border: 1px solid #00315f;
    text-align: center;
    color: #00315f !important;
    display: block;
}

.btn-white:hover {
        border: 1px solid #018abc;
        background-color: #018abc;
        color: #ffffff !important;
        text-decoration: none;
    }

.btn-inline {
    display: inline-block;
    padding: 10px 40px;
    margin-top: 60px;
}

@media only screen and (max-width: 767px) {

        .btn-inline + .btn-inline {
            margin-top: 30px;
        }
    }

html .fc .fc-view-container .fc-view .fc-widget-header {
                    border-top-color: transparent;
                    border-left-color: transparent;
                    border-right-color: transparent;
                }

html .fc .fc-view-container .fc-view .fc-widget-header th.fc-day-header {
                        background: none;
                        border-color: transparent;
                        font-weight: bold;
                    }

html .fc .fc-view-container .fc-view .fc-widget-header th.fc-sat {
                        color: #3c83af;
                    }

html .fc .fc-view-container .fc-view .fc-widget-header th.fc-sun {
                        color: #a23737;
                    }

html .fc .fc-day-grid-event {
            margin: 0;
        }

html .fc .fc-day-top {
            text-align: center;
        }

html .fc .fc-day-top .fc-day-number {
                float: none;
            }

html .fc .fc-day-top.fc-past {
            opacity: 0.25;
        }

/* 文字 */

html .fc .fc-content-skeleton {
            padding: 0;
        }

html .fc .fc-content-skeleton table,
            html .fc .fc-content-skeleton thead,
            html .fc .fc-content-skeleton tbody,
            html .fc .fc-content-skeleton tfoot,
            html .fc .fc-content-skeleton tr,
            html .fc .fc-content-skeleton th,
            html .fc .fc-content-skeleton td {
                border: none;
            }

html .fc .fc-content-skeleton .fc-event-container a.fc-event,
                html .fc .fc-content-skeleton .fc-event-container a.fc-event-dot {
                    background-color: transparent;
                    border: none;
                }

html .fc .fc-content-skeleton .fc-event-container a.fc-event {
                    text-align: center;
                    font-size: 16px;
                }

/* 青 */

html .fc .fc-content-skeleton .fc-event-container a.fc-event.possible,
                html .fc .fc-content-skeleton .fc-event-container a.fc-event.possible:hover {
                    color: #3c83af;
                }

/* 赤 */

html .fc .fc-content-skeleton .fc-event-container a.fc-event.few,
                html .fc .fc-content-skeleton .fc-event-container a.fc-event.few:hover {
                    color: #a23737;
                }

html .fc .fc-content-skeleton .fc-event-container a.fc-event.few .fc-title::before {
                        content: "残";
                        margin-right: 0.5em;
                        color: #222;
                        font-size: 0.8em;
                        display: inline-block;
                    }

html .fc .fc-content-skeleton .fc-event-container a.fc-event.past {
                    color: transparent !important;
                }

/* グレー */

html .fc .fc-content-skeleton .fc-event-container a.fc-event.impossible,
                html .fc .fc-content-skeleton .fc-event-container a.fc-event.impossible:hover,
                html .fc .fc-content-skeleton .fc-event-container a.fc-event.closed,
                html .fc .fc-content-skeleton .fc-event-container a.fc-event.closed:hover {
                    color: #999;
                }

html .fc .fc-bgevent-skeleton td.fc-bgevent {
                background: none;
            }

/* 背景色 */

/* 青 */

html .fc .fc-bg td.bg-possible {
                background: #e7f1f7;
            }

/*td.bg-possible:hover,*/

html .fc .fc-bg td.bg-possible.active {
                background: #cde5f3;
            }

/* 赤 */

html .fc .fc-bg td.bg-few {
                background: #f8e6e6;
            }

/*td.bg-impossible:hover,
            td.bg-few:hover,*/

html .fc .fc-bg td.bg-impossible.active,
            html .fc .fc-bg td.bg-few.active {
                background: #fdd2d2;
            }

/* 黄 */

html .fc .fc-bg td.fc-today {
                background: #fffacc;
            }

/*td.fc-today:hover,*/

html .fc .fc-bg td.fc-today.active {
                background: #fff8b9;
            }

/* グレー */

html .fc .fc-bg td.fc-past,
            html .fc .fc-bg td.bg-impossible,
            html .fc .fc-bg td.bg-closed {
                background: #f2f2f2 !important;
            }

html .fc .fc-bg td.fc-disabled-day {
                background: #ddd;
                opacity: 1.0;
            }

html .fc .fc-toolbar.fc-header-toolbar .fc-left,
            html .fc .fc-toolbar.fc-header-toolbar .fc-right,
            html .fc .fc-toolbar.fc-header-toolbar .fc-center {
                margin-bottom: 1em;
                display: block;
            }

html .fc .fc-toolbar.fc-header-toolbar .fc-left,
                html .fc .fc-toolbar.fc-header-toolbar .fc-left > *,
                html .fc .fc-toolbar.fc-header-toolbar .fc-right,
                html .fc .fc-toolbar.fc-header-toolbar .fc-right > *,
                html .fc .fc-toolbar.fc-header-toolbar .fc-center,
                html .fc .fc-toolbar.fc-header-toolbar .fc-center > * {
                    margin-left: auto;
                    margin-right: auto;
                    text-align: center;
                    float: none;
                }

html .fc .fc-toolbar.fc-header-toolbar .fc-center > *:not(:last-child) {
                    margin-right: 1em;
                }

@media only screen and (min-width: 480px) {

html .fc .fc-toolbar.fc-header-toolbar {
                display: -webkit-box;
                display: flex;
                -webkit-box-align: center;
                        align-items: center
        }

                html .fc .fc-toolbar.fc-header-toolbar .fc-left,
                html .fc .fc-toolbar.fc-header-toolbar .fc-right,
                html .fc .fc-toolbar.fc-header-toolbar .fc-center {
                    margin-bottom: 0;
                }

                    html .fc .fc-toolbar.fc-header-toolbar .fc-left,
                    html .fc .fc-toolbar.fc-header-toolbar .fc-left > *,
                    html .fc .fc-toolbar.fc-header-toolbar .fc-right,
                    html .fc .fc-toolbar.fc-header-toolbar .fc-right > *,
                    html .fc .fc-toolbar.fc-header-toolbar .fc-center,
                    html .fc .fc-toolbar.fc-header-toolbar .fc-center > * {
                        margin: 0;
                        text-align: initial;
                    }

                html .fc .fc-toolbar.fc-header-toolbar .fc-left {
                    margin-right: auto;
                }
            }

@media only screen and (min-width: 660px) {

            }

@media only screen and (min-width: 770px) {

            }

@media only screen and (min-width: 1000px) {

            }

html .fc .fc-toolbar h2 {
            font-size: 24px;
            font-size: 1.5rem;
        }

html .fc .fc-state-default,
        html .fc .fc-state-default.fc-corner-left,
        html .fc .fc-state-default.fc-corner-right {
            outline: none;

            border: none;
            font-size: 0.85em;
            text-align: center;
            line-height: 1;
            box-shadow: 0 0 0 2px #222 inset;
            display: inline-block;
            display: -webkit-inline-box;
            display: inline-flex;
            -webkit-box-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                    justify-content: center;

            /*  */
            padding: 0.75em 1.5em;
            border-radius: calc(1em + 1em + 1em);

            /*  */
            background-color: #222;
            color: #fff;

            /* 不要記述削除 */
            float: none;
            height: auto;
            text-shadow: none;
            background-image: none;

            -webkit-transition: opacity 0.15s ease-in-out 0s,
                        background 0.15s ease-in-out 0s,
                        background-color 0.15s ease-in-out 0s,
                        border-radius 0.15s ease-in-out 0s,
                        border-color 0.15s ease-in-out 0s,
                        color 0.15s ease-in-out 0s,
                        box-shadow 0.15s ease-in-out 0s,
                        text-shadow 0.15s ease-in-out 0s,
                        outline 0.15s ease-in-out 0s;

            transition: opacity 0.15s ease-in-out 0s,
                        background 0.15s ease-in-out 0s,
                        background-color 0.15s ease-in-out 0s,
                        border-radius 0.15s ease-in-out 0s,
                        border-color 0.15s ease-in-out 0s,
                        color 0.15s ease-in-out 0s,
                        box-shadow 0.15s ease-in-out 0s,
                        text-shadow 0.15s ease-in-out 0s,
                        outline 0.15s ease-in-out 0s;
        }

html .fc .fc-state-default:hover, html .fc .fc-state-default.fc-corner-left:hover, html .fc .fc-state-default.fc-corner-right:hover {
                background-color: transparent;
                color: #222;
            }

html .fc .fc-state-disabled,
        html .fc .fc-state-disabled:hover,
        html .fc .fc-state-disabled.fc-state-hover,
        html .fc .fc-state-disabled.fc-state-hover:hover {
            background-color: #222;
            color: #fff;
        }

html .fc .fc-state-hover {
            background-position: initial;
        }

html .fc .fc-scroller {
            overflow-x: initial !important;
            overflow-y: initial !important;
            height: initial !important;
        }

html .fc.fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
            float: none;
        }

html .fc.fc .fc-row .fc-content-skeleton table,
        html .fc.fc .fc-row .fc-content-skeleton td,
        html .fc.fc .fc-row .fc-helper-skeleton td {
            text-align: center;
            vertical-align: middle;
        }

.wp-pagenavi {
    text-align: center;
    margin-top: 40px;
}

.wp-pagenavi span {
        padding: 3px 8px !important;
        margin: 5px !important;
    }

.wp-pagenavi a {
        padding: 3px 8px !important;
        margin: 5px !important;
        color: #00315f !important;
        border: 1px solid #00315f !important;
    }

.wp-pagenavi a:hover {
            background-color: #00315f !important;
            color: #ffffff !important;
        }

.wp-pagenavi .current {
        background-color: #00315f;
        color: #ffffff;
        font-size: 18px;
        border: none;
    }

/* 背景色 */
body {
    background: #fff;
}
.bg-white {
    background-color: #fff;
}
.bg-gray {
    background-color: #f4f4f4;
}
.bg-black {
    background-color: #222;
    color: #fff;
}
.bg-black .module-group > a,
    .bg-black .border-group > a,
    .bg-black .card-group > a {
        color: #fff;
    }
.bg-black a.module,
    .bg-black a.border,
    .bg-black a.card {
        color: #fff;
    }
.bg-black .border-group > *,
    .bg-black .border {
        border-color: #fff;
    }

/* アニメーション */
/*----------------------------------------------------------------------------*/

a,
input,
select,
textarea,
button,
.btn,
.btn *,
.hover {
    -webkit-transition: opacity 0.15s ease-in-out 0s,
                background 0.15s ease-in-out 0s,
                background-color 0.15s ease-in-out 0s,
                border-radius 0.15s ease-in-out 0s,
                border-color 0.15s ease-in-out 0s,
                color 0.15s ease-in-out 0s,
                box-shadow 0.15s ease-in-out 0s,
                text-shadow 0.15s ease-in-out 0s,
                outline 0.15s ease-in-out 0s;
    transition: opacity 0.15s ease-in-out 0s,
                background 0.15s ease-in-out 0s,
                background-color 0.15s ease-in-out 0s,
                border-radius 0.15s ease-in-out 0s,
                border-color 0.15s ease-in-out 0s,
                color 0.15s ease-in-out 0s,
                box-shadow 0.15s ease-in-out 0s,
                text-shadow 0.15s ease-in-out 0s,
                outline 0.15s ease-in-out 0s;
}

.scroll-effect,
.parent-scroll-effect.list > * {
    /* transition: all 0.35s ease-out 0.25s; */
    /* transition: all 0.5s cubic-bezier(.4,0,.4,1) 0.4s; */
    -webkit-transition: opacity 0.5s cubic-bezier(.4,0,.4,1) 0.4s,
                -webkit-transform 0.75s cubic-bezier(.4,0,.4,1) 0.2s;
    transition: opacity 0.5s cubic-bezier(.4,0,.4,1) 0.4s,
                -webkit-transform 0.75s cubic-bezier(.4,0,.4,1) 0.2s;
    transition: transform 0.75s cubic-bezier(.4,0,.4,1) 0.2s,
                opacity 0.5s cubic-bezier(.4,0,.4,1) 0.4s;
    transition: transform 0.75s cubic-bezier(.4,0,.4,1) 0.2s,
                opacity 0.5s cubic-bezier(.4,0,.4,1) 0.4s,
                -webkit-transform 0.75s cubic-bezier(.4,0,.4,1) 0.2s;


}
.scroll-effect,
.parent-scroll-effect.list > * {
    -webkit-transform: none;
            transform: none;
    opacity: 1.0;
}
.scroll-effect.inactive,
.parent-scroll-effect.list > *.inactive {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: translate(0, 20px);
            transform: translate(0, 20px);
    opacity: 0.0;
}

.scroll-effect.customize-body {
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
}

a .thumbnail,
a.thumbnail,
.thumbnail a,

a .thumbnail img,
a.thumbnail img,
.thumbnail a img,

a .thumbnail .mask,
a.thumbnail .mask,
.thumbnail a .mask {
    -webkit-transition: opacity 0.15s ease-in-out 0s,
                background 0.15s ease-in-out 0s,
                background-color 0.15s ease-in-out 0s,
                border-radius 0.15s ease-in-out 0s,
                border-color 0.15s ease-in-out 0s,
                color 0.15s ease-in-out 0s,
                box-shadow 0.15s ease-in-out 0s,
                text-shadow 0.15s ease-in-out 0s,
                outline 0.15s ease-in-out 0s,
                -webkit-transform 0.15s ease-in-out 0s;
    transition: opacity 0.15s ease-in-out 0s,
                background 0.15s ease-in-out 0s,
                background-color 0.15s ease-in-out 0s,
                border-radius 0.15s ease-in-out 0s,
                border-color 0.15s ease-in-out 0s,
                color 0.15s ease-in-out 0s,
                box-shadow 0.15s ease-in-out 0s,
                text-shadow 0.15s ease-in-out 0s,
                outline 0.15s ease-in-out 0s,
                -webkit-transform 0.15s ease-in-out 0s;
    transition: opacity 0.15s ease-in-out 0s,
                background 0.15s ease-in-out 0s,
                background-color 0.15s ease-in-out 0s,
                border-radius 0.15s ease-in-out 0s,
                border-color 0.15s ease-in-out 0s,
                color 0.15s ease-in-out 0s,
                box-shadow 0.15s ease-in-out 0s,
                text-shadow 0.15s ease-in-out 0s,
                outline 0.15s ease-in-out 0s,
                transform 0.15s ease-in-out 0s;
    transition: opacity 0.15s ease-in-out 0s,
                background 0.15s ease-in-out 0s,
                background-color 0.15s ease-in-out 0s,
                border-radius 0.15s ease-in-out 0s,
                border-color 0.15s ease-in-out 0s,
                color 0.15s ease-in-out 0s,
                box-shadow 0.15s ease-in-out 0s,
                text-shadow 0.15s ease-in-out 0s,
                outline 0.15s ease-in-out 0s,
                transform 0.15s ease-in-out 0s,
                -webkit-transform 0.15s ease-in-out 0s;;
}

a:hover .thumbnail img,
a.thumbnail:hover img,
.thumbnail a:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0.5;
}

a:hover .thumbnail .mask,
a.thumbnail:hover .mask,
.thumbnail a:hover .mask {

}
/*
.bx-wrapper .bx-viewport li {
    transition: all 0.1s ease 0s;
}
.bx-wrapper .bx-viewport li.active {
    transition: all 0.25s ease 0s;
}
*/
.bx-wrapper .bx-pager.bx-default-pager a {
    /* transition: all 0.15s ease 0.75s; */
}

/* 高さを画面幅に */
.scroll-effect.contain {
    box-sizing: border-box;
    position: relative;
}
body > .scroll-effect.contain:not(.parent-popup-content) {
    -webkit-transition: all 0.75s ease-in-out;
    transition: all 0.75s ease-in-out;
}

.scroll-effect.contain .scroll-effect {
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.parent-scroll-effect.parallax {
    position: relative;
}
.parent-scroll-effect.parallax > *:not(.not-move) {
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}



/* カスタマイズ */
/*----------------------------------------------------------------------------*/
.mainvisual .slider li.active img {
    -webkit-transition: -webkit-transform 12.0s ease-in 0s;
    transition: -webkit-transform 12.0s ease-in 0s;
    transition: transform 12.0s ease-in 0s;
    transition: transform 12.0s ease-in 0s, -webkit-transform 12.0s ease-in 0s;
}
.mainvisual .slider li img {
    -webkit-transform: scale(1.0);
            transform: scale(1.0);
}
.mainvisual .slider li.active img {
    -webkit-transform: scale(1.25);
            transform: scale(1.25);
}

.slider li {
    -webkit-transition: opacity 0.9s ease-in 0s;
    transition: opacity 0.9s ease-in 0s;
}

.back-top {
    -webkit-transition: margin 0.5s ease-in-out 0s,
                background 0.5s ease-in-out 0s,
                opacity 0.5s ease-in-out 0s,
                top 0.5s ease-in-out 0.25s,
                right 0.5s ease-in-out 0.25s,
                bottom 0.5s ease-in-out 0.25s,
                left 0.5s ease-in-out 0.25s;
    transition: margin 0.5s ease-in-out 0s,
                background 0.5s ease-in-out 0s,
                opacity 0.5s ease-in-out 0s,
                top 0.5s ease-in-out 0.25s,
                right 0.5s ease-in-out 0.25s,
                bottom 0.5s ease-in-out 0.25s,
                left 0.5s ease-in-out 0.25s;
}
.back-top.inactive {
    -webkit-transition: margin 0.25s ease-in-out 0.25s,
                background 0.25s ease-in-out 0.25s,
                opacity 0.25s ease-in-out 0.25s,
                top 0.5s ease-in-out 1.0s,
                right 0.5s ease-in-out 1.0s,
                bottom 0.5s ease-in-out 1.0s,
                left 0.5s ease-in-out 1.0s;
    transition: margin 0.25s ease-in-out 0.25s,
                background 0.25s ease-in-out 0.25s,
                opacity 0.25s ease-in-out 0.25s,
                top 0.5s ease-in-out 1.0s,
                right 0.5s ease-in-out 1.0s,
                bottom 0.5s ease-in-out 1.0s,
                left 0.5s ease-in-out 1.0s;
}

/*
*:first-child {
    margin-top: 0;
}
*:last-child {
    margin-bottom: 0;
}
*/
html {
    overflow-x: hidden;
}
body {
    overflow-x: hidden;
    position: relative;
    box-sizing: border-box;
}



.wrap {
    max-width: 1100px;
    margin: 0 auto;
}



@media only screen and (max-width: 1080px) {



.wrap {
        padding-left: 40px;
        padding-right: 40px
}
    }



@media only screen and (max-width: 1023px) {



.wrap {
        padding-left: 20px;
        padding-right: 20px
}
    }



@media only screen and (max-width: 840px) {

        .wrap .wrap-s {
            padding-left: 0;
            padding-right: 0;
        }
    }

.wrap-l {
    max-width: 1240px;
    margin: 0 auto;
}

.wrap-s {
    max-width: 800px;
    margin: 0 auto;
}

@media only screen and (max-width: 840px) {

.wrap-s {
        padding-left: 20px;
        padding-right: 20px
}
    }



.section {
    padding: 90px 0;
}



.section > .section {
        padding: 0;
    }



.section > .section + .section {
            padding: 90px 0 0;
        }



.section.glay {
        background: #f1f1f1;
    }



@media only screen and (max-width: 767px) {



.section {
        padding: 60px 0
}

            .section > .section + .section {
                padding: 60px 0 0;
            }
    }



.layout-map {
    position: relative;
}



.layout-map .content {
        width: 50%;
        padding-right: 15px;
        box-sizing: border-box;
    }



.layout-map .content h3 {
            margin-top: 80px;
        }



.layout-map .content h3:first-child {
                margin-top: 0;
            }



.layout-map .map {
        position: absolute;
        top: 0;
        left: 50%;
        right: 0;
        height: 100vh;
    }



.layout-map .map .map_canvas {
            width: 100%;
            height: 100vh;
        }



.layout-map .map.is-fixed {
            position: fixed;
        }



.layout-map .map.is-fixed-bottom {
            position: absolute;
            top: inherit;
            bottom: 0;
        }



@media only screen and (max-width: 767px) {

        .layout-map .content {
            width: 100%;
            padding-right: 0;
        }

        .layout-map .map {
            display: none;
        }
    }


.layout-fields h4 {
        margin-top: 100px;
    }


.layout-fields h4:first-of-type {
            margin-top: 0;
        }


.layout-fields h4.title-05:nth-of-type(even) {
            width: 200%;
            font-size: 24px;
            color: #ffffff;
            padding: 10px 20px 10px 100%;
            margin-bottom: 40px;
            margin-left: -100%;
            background-color: #00315f;
            box-sizing: border-box;
            font-weight: bold;
            text-align: right;
        }


.layout-fields .inner {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
                justify-content: space-between;
    }


.layout-fields .inner > * {
            width: 50%;
            box-sizing: border-box;
        }


@media only screen and (max-width: 767px) {


.layout-fields .inner {
            display: block
    }

            .layout-fields .inner > * {
                width: 100%;
            }
        }


.layout-fields .inner .content {
            padding-right: 20px;
        }


@media only screen and (max-width: 1023px) {


.layout-fields .inner .content {
                padding-right: 10px
        }
            }


@media only screen and (max-width: 767px) {


.layout-fields .inner .content {
                padding-right: 0
        }
            }


.layout-fields .inner .content .img-fields {
                width: 100%;
                height: 230px;
                -o-object-fit: cover;
                   object-fit: cover;
            }


.layout-fields .inner .content .link {
                display: -webkit-box;
                display: flex;
                -webkit-box-pack: justify;
                        justify-content: space-between;
                margin-top: 10px;
            }


.layout-fields .inner .content .link li {
                    width: 260px;
                    font-size: 16px;
                }


.layout-fields .inner .content .link li a {
                        display: block;
                        padding: 10px 0;
                    }


@media only screen and (max-width: 1080px) {

                    .layout-fields .inner .content .link li {
                        width: 220px;
                    }
                }


.layout-fields .inner .content .info {
                display: -webkit-box;
                display: flex;
                margin-top: 10px;
            }


.layout-fields .inner .content .info dt {
                    width: 90px;
                    font-weight: bold;
                }


.layout-fields .inner .content .info dd {
                    width: calc(100% - 90px);
                    line-height: 1.3;
                }


@media only screen and (max-width: 1023px) {


.layout-fields .inner .content .info {
                    display: block
            }

                    .layout-fields .inner .content .info dt {
                        width: 100%;
                    }

                    .layout-fields .inner .content .info dd {
                        width: 100%;
                        margin-top: 5px;
                    }
                }


.layout-fields .inner .content .teams {
                border: 1px solid #00315f;
                display: table;
                width: 100%;
                margin-top: 10px;
            }


.layout-fields .inner .content .teams dt {
                    display: table-cell;
                    background-color: #00315f;
                    color: #ffffff;
                    font-weight: bold;
                    text-align: center;
                    padding: 5px 0;
                    vertical-align: middle;
                    width: 120px;
                }


.layout-fields .inner .content .teams dd {
                    display: table-cell;
                }


.layout-fields .inner .content .teams ul {
                    display: -webkit-box;
                    display: flex;
                    padding: 5px 10px 0;
                }


.layout-fields .inner .map {
            padding-left: 20px;
        }


@media only screen and (max-width: 1023px) {


.layout-fields .inner .map {
                padding-left: 10px
        }
            }


@media only screen and (max-width: 767px) {


.layout-fields .inner .map {
                padding-left: 0;
                margin-top: 20px
        }
            }


.layout-fields .inner .map iframe {
                width: 100%;
                height: 100%;
            }


@media only screen and (max-width: 767px) {


.layout-fields .inner .map iframe {
                    height: 300px
            }
                }



.layout-cityinfo {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
    margin-top: 100px;
    box-sizing: border-box;
}



.layout-cityinfo + .layout-cityinfo {
        margin-top: 50px;
    }



.layout-cityinfo .heading {
        width: 320px;
        border: 1px solid #00315f;
        box-shadow: 0 2px 5px 0 rgba(0,0,0,.2);
        margin-right: 15px;
        flex-shrink: 0;
    }



.layout-cityinfo .heading dt {
            background-image: url(../img/city/bg-eat.jpg);
            background-size: cover;
            height: 150px;
            color: #ffffff;
            font-size: 32px;
            font-weight: bold;
            display: -webkit-box;
            display: flex;
            flex-wrap: wrap;
            -webkit-box-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                    justify-content: center;
            padding-top: 20px;
            box-sizing: border-box;
        }



.layout-cityinfo .heading dt span {
                font-size: 24px;
                font-weight: normal;
                display: inline-block;
                width: 100%;
                text-align: center;
                margin-top: -60px;
            }



.layout-cityinfo .heading dt.eat {
                background-image: url(../img/city/bg-eat.jpg);
            }



.layout-cityinfo .heading dt.sightseeing {
                background-image: url(../img/city/bg-sightseeing.jpg);
            }



.layout-cityinfo .heading dt.stay {
                background-image: url(../img/city/bg-stay.jpg);
            }



.layout-cityinfo .heading dd {
            text-align: center;
            padding: 70px 0 30px;
        }



.layout-cityinfo .heading dd img {
                width: 190px;
            }



.layout-cityinfo .heading dd div {
                width: 190px;
                margin-top: 90px;
                margin-left: auto;
                margin-right: auto;
            }



.layout-cityinfo .heading dd div a {
                    font-size: 16px;
                    padding: 10px 0;
                }



.layout-cityinfo .list {
        width: calc(100% - 350px);
        margin-left: 15px;
        flex-shrink: 0;
    }



@media only screen and (max-width: 1023px) {

        .layout-cityinfo .heading {
            width: 240px;
            margin-right: 10px;
        }

        .layout-cityinfo .list {
            width: calc(100% - 260px);
            margin-left: 10px;
        }
    }



@media only screen and (max-width: 767px) {



.layout-cityinfo {
        display: block;
        margin-top: 50px
}

        .layout-cityinfo .heading {
            width: 100%;
            margin-right: 0;
        }

            .layout-cityinfo .heading dt {
                height: 100px;
                padding-top: 10px;
            }

                .layout-cityinfo .heading dt span {
                    margin-top: -30px;
                }

            .layout-cityinfo .heading dd {
                padding: 40px 0 20px;
            }

                .layout-cityinfo .heading dd div {
                    margin-top: 40px;
                }

        .layout-cityinfo .list {
            width: 100%;
            margin-left: 0;
            margin-top: 15px;
        }
    }

.header-inner {
    padding-top: 15px;
    padding-bottom: 15px;
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
            align-items: center;
}

.header-inner .logo {
        width: 219px;
        margin: 0;
        line-height: 0;
    }

@media only screen and (max-width: 767px) {

.header-inner .logo {
            width: 140px
    }
        }

.header-inner .logo img {
            width: 100%;
        }

.header-inner .language {
        font-weight: bold;
        letter-spacing: 0.05em;
    }

.header-inner .language img {
            vertical-align: middle;
            width: 20px;
            height: 20px;
            margin-right: 5px;
        }

.header-inner .language a {
            color: #222;
        }

@media only screen and (max-width: 767px) {

.header-inner {
        -webkit-box-pack: start;
                justify-content: flex-start
}

        .header-inner .language {
            margin-left: 20px;
        }
    }



.global-nav-btn {
    display: none;
}



@media only screen and (max-width: 767px) {



.global-nav-btn {
        width: 32px;
        height: 32px;
        display: block;
        position: absolute;
        z-index: 1000;
        top: 50%;
        margin-top: -16px;
        right: 20px;
        z-index: 10001
}

        .global-nav-btn span {
            margin: auto;
            width: 30px;
            height: 2px;
            border-radius: 1px;
            background: #222;
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            -webkit-transition: all 0.15s ease-in-out 0s;
            transition: all 0.15s ease-in-out 0s;
        }
        .global-nav-btn span:nth-child(1) {
            -webkit-transform: translate(0px, -10px);
                    transform: translate(0px, -10px);
        }
        .global-nav-btn span:nth-child(4) {
            -webkit-transform: translate(0px, 10px);
                    transform: translate(0px, 10px);
        }
    }

html.global-nav-active .global-nav-btn {
        position: fixed;
        top: 38px;
    }

html.global-nav-active .global-nav-btn span:nth-child(1) {
            /*transform: translate(0px, -42px);
 */
            opacity: 0;
        }

html.global-nav-active .global-nav-btn span:nth-child(4) {
            /*transform: translate(0px, 42px);
 */
            opacity: 0;
        }

html.global-nav-active .global-nav-btn span:nth-child(2) {
            -webkit-transform: rotate(45deg);
                    transform: rotate(45deg);
        }

html.global-nav-active .global-nav-btn span:nth-child(3) {
            -webkit-transform: rotate(-45deg);
                    transform: rotate(-45deg);
        }



.header-nav {
    background-color: #00315f;
    font-family: "Alte-Haas-Grotesk-Regular";
}



.header-nav ul {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
                justify-content: space-between;
    }



.header-nav ul li {
            width: calc(100% / 6);
            text-align: center;
            font-size: 18px;
            line-height: 1;
        }



.header-nav ul li a {
                color: #ffffff;
                display: block;
                padding: 18px 0;
            }



.header-nav ul li a:hover {
                    text-decoration: none;
                    background-color: #018abc;
                }



.header-nav ul li.current a {
                    background-color: #018abc;
                }



.header-nav .language {
        display: none;
    }
@media only screen and (max-width: 767px) {

        html:not(.global-nav-active) .header-nav {
            display: none;
        }

        html.global-nav-active .header-nav {
            display: block;
            position: fixed;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background: #fff;
            box-sizing: border-box;
            z-index: 10000;
        }

            html.global-nav-active .header-nav ul {
                margin: 0 auto 0 auto;
                padding: 50px 0 50px 0;
                width: 300px;
                max-width: 100%;
                /* height: 100vh;
 */
                display: block;
                box-sizing: border-box;
                overflow: auto;
            }

                html.global-nav-active .header-nav ul li {
                    width: 100%;
                }

                    html.global-nav-active .header-nav ul li a {
                        color: #018abc;
                    }

                        html.global-nav-active .header-nav ul li a:hover {
                            color: #ffffff;
                        }

                        html.global-nav-active .header-nav ul li.current a {
                            background-color: #ffffff;
                        }

            html.global-nav-active .header-nav .language {
                display: block;
                text-align: center;
                font-size: 0;
            }

                html.global-nav-active .header-nav .language dt {
                    font-weight: bold;
                    font-size: 18px;
                    margin-bottom: 20px;
                }

                html.global-nav-active .header-nav .language dd {
                    width: 40px;
                    display: inline-block;
                    margin: 0 10px;
                    border: 1px solid #cccccc;
                }
}

@media only screen and (min-width: 480px) {

}
@media only screen and (min-width: 660px) {

}
@media only screen and (min-width: 770px) {

}
@media only screen and (min-width: 1000px) {

}



footer {
    background-color: #232323;
    color: #ffffff;
    padding: 35px 0 30px;
}



footer .footer-nav ul {
            display: -webkit-box;
            display: flex;
            -webkit-box-pack: justify;
                    justify-content: space-between;
        }



footer .footer-nav ul li {
                text-align: center;
                font-size: 15px;
                line-height: 1;
            }



@media only screen and (max-width: 767px) {



footer .footer-nav ul {
                flex-wrap: wrap;
                margin-top: -30px
        }

                footer .footer-nav ul li {
                    width: calc(100% / 3);
                    margin-top: 30px;
                }
            }



footer .footer-nav a {
            color: #ffffff;
            display: block;
        }



footer .footer-nav a:hover {
                text-decoration: none;
                opacity: 0.5;
            }



footer .footer-bnr {
        margin-top: 50px;
    }



footer .footer-bnr ul {
            display: -webkit-box;
            display: flex;
            -webkit-box-pack: justify;
                    justify-content: space-between;
        }



footer .footer-bnr ul li {
                width: 21.8%;
            }



footer .footer-bnr ul li img {
                    width: 100%;
                }



footer .footer-bnr ul li a:hover {
                    opacity: 0.7;
                }



@media only screen and (max-width: 767px) {



footer .footer-bnr ul {
                flex-wrap: wrap;
                margin-top: -20px
        }

                footer .footer-bnr ul li {
                    width: 47%;
                    margin-top: 20px;
                }
            }



footer .copy {
        margin-top: 80px;
        text-align: center;
        font-size: 13px;
    }



footer .operationcompany {
        margin-top: 40px;
        text-align: center;
    }


.home .mainvisual {
    height: 500px;
    background-image: url(../img/home/mainvisual-01.jpg);
    background-size: cover;
    background-position: center center;
}


@media only screen and (max-width: 767px) {


.home .mainvisual {
        height: 320px
}
    }

/* ローディング */
.load-area {
    display: none;
    /* display: block; */
    /* background: #fff; */

    /* テスト用 */
    /* background: #fff !important; */
    /* opacity: 1 !important; */
    /* display: block !important; */
    /* テスト用 */

    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 50000;
}

html.load-active body {
        background: #fff;
    }

html.load-active .load-area {
        width: 100%;
        height: 100%;
        background: #fff;
        display: block;
        -webkit-transition: all 0.35s ease 0.0s;
        transition: all 0.35s ease 0.0s;
    }

html.load-active .load-area .svg-load {
            margin: auto;
            width: 150px;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 50px;
            left: 0;
        }

@media only screen and (min-width: 480px) {

        }

@media only screen and (min-width: 660px) {

        }

@media only screen and (min-width: 770px) {
            html.load-active .load-area .svg-load {
                width: 200px;
            }
        }

@media only screen and (min-width: 1000px) {

        }

/* opacityだけだと、アニメーションが正常に動作しない場合がある */
/* 一瞬、サイトの中身が表示されてしまうのを防ぐため */
html.load-active:not(.load-fadeout) body {
        background: #fff;
    }
html.load-active:not(.load-fadeout) body > *:not(.load-area) {
            visibility: hidden;
        }
html.load-fadeout .load-area {
        opacity: 0;
    }
html:not(.load-active) body {
        background: #fff;
    }
/*
html:not(.load-active):not(.load-fadeout) {
    .load-area {
        // display: none;
        display: none;
        background: transparent;
    }
}
*/

.post-news {
    border-top: 3px solid #00315f;
    border-bottom: 3px solid #00315f;
    padding: 50px 0 90px;
}

.post-news .date-cate {
        text-align: right;
        font-size: 15px;
    }

.post-news h1 {
        font-size: 24px;
        font-weight: bold;
        margin: 10px 0 30px;
    }

.post-news .content > * {
            margin-top: 20px;
            line-height: 1.7;
        }

.post-news .content > *:first-child {
                margin-top: 0px;
            }

@media only screen and (max-width: 767px) {

.post-news {
        padding: 30px 0 60px
}

        .post-news h1 {
            font-size: 20px;
            margin: 20px 0 20px;
        }
    }



.post-spot {
    border-top: 3px solid #00315f;
    padding: 50px 0 0;
}



.post-spot .img {
        text-align: center;
        margin-bottom: 40px;
    }



.post-spot .img img {
            -o-object-fit: cover;
               object-fit: cover;
            width: 500px;
            height: 340px;
        }



.post-spot .content {
        line-height: 2;
        font-weight: bold;
        margin-bottom: 50px;
    }



.post-spot .info {
        border: none;
        width: 100%;
    }



.post-spot .info tr {
            border: none;
        }



.post-spot .info th {
            background-color: #e8eef6;
            color: #00315f;
            font-weight: bold;
            text-align: center;
            width: 30%;
            border-top: 1px solid #00315f;
            border-bottom: 1px solid #00315f;
            padding: 20px 0;
            box-sizing: border-box;
            vertical-align: middle;
        }



.post-spot .info td {
            border-top: 1px solid #00315f;
            border-bottom: 1px solid #00315f;
            padding-left: 30px;
            color: #00315f;
            padding: 20px 30px;
            box-sizing: border-box;
            vertical-align: middle;
            line-height: 1.3;
        }



.post-spot .info td a {
                text-decoration: underline;
                color: #00315f;
            }



.post-spot .info td a:hover {
                    text-decoration: none;
                }



@media only screen and (max-width: 767px) {

        .post-spot .info {
            display: block;
            width: 100%;
        }

            .post-spot .info tbody {
                display: block;
                width: 100%;
            }

            .post-spot .info tr {
                display: block;
                width: 100%;
            }

            .post-spot .info th {
                display: block;
                width: 100%;
                padding: 15px;
            }

            .post-spot .info td {
                display: block;
                width: 100%;
                padding: 15px 10px;
            }
    }



.link-post {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
    margin-top: 20px;
}



.link-post li {
        font-size: 15px;
    }



.link-post a {
        color: #00315f;
    }

.contact-style .text-01 {
        text-align: center;
    }

.contact-style .text-02 span {
            color: #a94442;
        }

.contact-style table th {
            vertical-align: middle;
        }

.contact-style table th span {
                color: #a94442;
            }

.contact-style hr {
        margin-top: 30px;
        margin-bottom: 30px;
        border: 0;
        border-top-color: currentcolor;
        border-top-style: none;
        border-top-width: 0px;
        border-top: 1px solid rgba(0,0,0,0.08);
    }

.contact-style .privacy {
        height: 300px;
        padding: 20px;
        border: 1px solid #000000;
        border: 1px solid rgba(0,0,0,0.08);
        overflow-y: scroll;
    }

.contact-style .check {
        text-align: center;
    }

.contact-style .btn-wrap {
        text-align: center;
    }

.contact-style .btn-wrap button {
            display: inline-block;
            text-align: center;
            cursor: pointer;
            border: none;

            color: #fff;
            background-color: #00315f;

            padding: 10px 16px;
            font-size: 18px;
            line-height: 1;
            border-radius: 6px;
        }

.home-con-01 {
    background-image: url(../img/common/bg-01.png);
    background-position: top center;
    background-repeat: repeat-y;
}

.home-con-01 .inner {
        display: -webkit-box;
        display: flex;
    }

.home-con-01 .inner > * {
            width: 50%;
            padding: 40px 80px 40px 40px;
        }

.home-con-01 .inner > * h2 {
                text-align: left;
                margin-bottom: 35px;
            }

.home-con-01 .inner .news {

        }

.home-con-01 .inner .live {
            padding: 40px 40px 40px 80px;
        }

.home-con-01 .inner .live h2 {
                color: #ffffff;
            }

.home-con-01 .inner .live .caution {
                color: #ffffff;
                font-size: 12px;
                margin-top: 10px;
            }

.home-con-01 .inner .live .link a {
                    color: #ffffff;
                    border: 1px solid #ffffff;
                    padding: 10px 15px;
                    display: inline-block;
                    margin-top: 20px;
                }

.home-con-01 .inner .live .link a:hover {
                        text-decoration: none;
                        background-color: #018abc;
                        border: 1px solid #018abc;
                    }

@media only screen and (max-width: 1080px) {

            .home-con-01 .inner > * {
                padding: 40px 40px 40px 0;
            }

            .home-con-01 .inner .live {
                padding: 40px 0 40px 40px;
            }
        }

@media only screen and (max-width: 1023px) {

            .home-con-01 .inner > * {
                padding: 40px 20px 40px 0;
            }

            .home-con-01 .inner .live {
                padding: 40px 0 40px 20px;
            }
        }

@media only screen and (max-width: 767px) {

.home-con-01 {
        background-image: none
}

        .home-con-01 .inner {
            display: block;
        }

            .home-con-01 .inner > * {
                width: 100%;
            }

                .home-con-01 .inner > * h2 {
                    margin-bottom: 25px;
                }

            .home-con-01 .inner .live {
                background-color: #00315f;
                margin-left: -20px;
                padding: 40px 20px 40px 20px;
            }
    }



.home-con-02 {
    height: 310px;
    background-image: url(../img/home/bg-01.jpg);
    background-size: cover;
    background-position: center center;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: center;
            justify-content: center;
    color: #ffffff;
    text-align: center;
}



.home-con-02 h2 {
        font-size: 34px;
        font-weight: bold;
        line-height: 1.3;
    }



.home-con-02 h2 span {
            font-family: "Alte-Haas-Grotesk-Regular";
            display: block;
            font-size: 36px;
            margin-bottom: 20px;
        }



.home-con-02 h2 br {
            display: none;
        }



@media only screen and (max-width: 767px) {



.home-con-02 h2 br {
                display: inline-block
        }
            }



.home-con-02 .download {
        display: inline-block;
        border: 1px solid #ffffff;
        font-size: 18px;
        margin-top: 50px;
        background-image: url(../img/common/icon-01.png);
        background-repeat: no-repeat;
        background-position: right 40px center;
        background-size: 27px auto;
    }



.home-con-02 .download a {
            display: block;
            padding: 20px 80px 20px 40px;
            color: #ffffff;
        }



.home-con-02 .download:hover {
            background-image: url(../img/common/icon-01-on.png);
            background-color: #ffffff;
        }



.home-con-02 .download:hover a {
                text-decoration: none;
                color: #000000;
            }



@media only screen and (max-width: 767px) {

        .home-con-02 h2 {
            font-size: 28px;
        }

            .home-con-02 h2 span {
                font-size: 30px;
            }
    }



.home-con-03 {
    display: -webkit-box;
    display: flex;
}



.home-con-03 > * {
        width: 50%;
    }



.home-con-03 .map {
        padding-right: 20px;
    }



.home-con-03 .text h4 {
            margin-top: 40px;
        }



.home-con-03 .text h4:first-child {
                margin-top: 0;
            }



@media only screen and (max-width: 1023px) {



.home-con-03 {

        display: block
}

        .home-con-03 > * {
            width: 100%;
        }

        .home-con-03 .map {
            text-align: center;
            padding-right: 0;
        }

        .home-con-03 .text {
            margin-top: 40px;
        }
    }

.schedule-wrap .sp {
        display: none;
    }

@media only screen and (max-width: 767px) {

        .schedule-wrap .pc {
            display: none;
        }

        .schedule-wrap .sp {
            display: block;
        }
    }



.area-bnr-box {
    text-align: center;
    margin-top: 80px;
}



.prbooth-wrap .text {
        text-align: center;
        line-height: 2;
        margin: 50px 0;
    }



.prbooth-wrap .info {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
                justify-content: space-between;
    }



.prbooth-wrap .info > div {
            width: 48%;
        }



.prbooth-wrap .info > div dl {
                border: 1px solid #00315f;
                padding: 30px 20px;
                margin-bottom: 30px;
            }



.prbooth-wrap .info > div dl dt {
                    font-size: 28px;
                    color: #00315f;
                    font-weight: bold;
                    line-height: 1.2;
                }



.prbooth-wrap .info > div dl dd {
                    font-size: 24px;
                    font-weight: bold;
                    line-height: 1.5;
                    margin-top: 20px;
                }



.prbooth-wrap .move {
        background-color: #00315f;
        padding: 40px 0;
        margin-top: 40px;
    }



.prbooth-wrap .move iframe {
            margin: 0 auto;
        }


        
.prbooth-wrap .comingsoon_area {
	padding: 1px 20px 20px;
	background-color: #999;
    opacity: 0.6;
    position: relative;
}


.prbooth-wrap .comingsoon_comment {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}


@media only screen and (max-width: 767px) {

        .prbooth-wrap .info {
            display: block;
        }

            .prbooth-wrap .info > div {
                width: 100%;
            }

                .prbooth-wrap .info > div dl {
                    padding: 20px 20px;
                    margin-bottom: 10px;
                }

                    .prbooth-wrap .info > div dl dt {
                        font-size: 20px;
                    }

                    .prbooth-wrap .info > div dl dd {
                        font-size: 18px;
                        margin-top: 10px;
                    }

                .prbooth-wrap .info > div + div {
                    margin-top: 30px;
                }
    }
