@charset "utf-8";

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0;transform: rotate(0.05deg);}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0;transform: rotate(0.05deg);}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:500}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:auto;appearance:auto;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}

em {font-style: italic;}

html{ scroll-behavior: smooth;}
html,body{ width:100%;height:100%;-webkit-font-smoothing: antialiased;scroll-behavior: smooth;}
html,body{ }


.over {transition: 0.3s ;}
.over:hover {opacity: 0.5 ;}

/*clearfix*/
.clearfix:after{content: "."; display: block; height: 0; font-size:0; clear: both; visibility:hidden}
.clearfix{display: inline-block;}
* html .clearfix{height: 1%;}
.clearfix{display:block;}
 


/*========================================
BASIC
=======================================*/

html{-webkit-text-size-adjust:100%; font-size: 62.5%;}
body{font-size: 10px;font-size: 1.0rem; color:#22385d; font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; background-color:#fefefe; font-weight: 500;}
_::-webkit-full-page-media, _:future, :root body {font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


/* ios Safari */
@supports (-webkit-touch-callout: none) {body {height: -webkit-fill-available;}}

a{color:#fe6b02; text-decoration:none;}
a:hover{color: #a0afc2;}

/* alllink */
a.all {position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 5; /* 重なり順を調整 */}

#container {width: 100%; height: auto; padding: 90px 0 0 0; opacity: 0; overflow: clip; position: relative;}


main {background-image: url("../img/mark_bg.svg"); background-size: 70vw auto; background-position: top 70% left -30vw; background-repeat: no-repeat;}
@media screen and (max-width: 768px) {
main {background-size: 120vw auto; background-position: top 70% left -30vw; background-repeat: no-repeat;}
}


/* --- page link --- */
.page_link{margin-top: -120px;padding-top: 120px; display:block; z-index: -1;position: relative;}
.pc {}
.sp { display: none;}

@media screen and (max-width: 1000px) {
#container {padding: 60px 0 0 0;}
}

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

/* --- page link --- */
.page_link{margin-top: -110px;padding-top: 110px; display:block;}
.pc { display: none;}
.sp { display: inherit;}
.over:hover {opacity: 1 ;}
}



/* page-top */
#page-top {position: fixed;bottom: 20px;right: 20px;z-index:100; max-width:50px; height:auto;transition: 0.5s;-webkit-transition: 0.5s;}
#page-top img {max-width:50px; height:auto;transition: 0.5s;-webkit-transition: 0.5s;}
#page-top:hover {transform: translate(0,-10px);}

/* hr */
hr{}

/* icons */
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?v41isk');
  src:  url('fonts/icomoon.eot?v41isk#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?v41isk') format('truetype'),
    url('fonts/icomoon.woff?v41isk') format('woff'),
    url('fonts/icomoon.svg?v41isk#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-swipe_arrow_left:before {
  content: "\e912";
}
.icon-swipe_arrow_right:before {
  content: "\e913";
}
.icon-arrow_left:before {
  content: "\e900";
}
.icon-guide02:before {
  content: "\e901";
}
.icon-guide04:before {
  content: "\e902";
}
.icon-guide01:before {
  content: "\e903";
}
.icon-guide_03:before {
  content: "\e904";
}
.icon-english:before {
  content: "\e905";
}
.icon-phone:before {
  content: "\e907";
}
.icon-guide05:before {
  content: "\e90a";
}
.icon-instagram:before {
  content: "\e90b";
}
.icon-x:before {
  content: "\e90c";
}
.icon-youtube:before {
  content: "\e90d";
}
.icon-facebook:before {
  content: "\e90e";
}
.icon-arrow_right:before {
  content: "\e90f";
}
.icon-pdf:before {
  content: "\e909";
}
.icon-home:before {
  content: "\e908";
}
.icon-open:before {
  content: "\e910";
}
.icon-help:before {
  content: "\e911";
}
.icon-mail:before {
  content: "\e906";
}



@media(min-width: 768px){a[href^="tel:"]{pointer-events: none;text-decoration: none;color: inherit;}}

.txt_idt_1{text-indent: -1em;padding-left: 1em;}
.txt_idt_2{text-indent: -2em;padding-left: 2em;}
.txt_idt_3{text-indent: -3em;padding-left: 3em;}
.txt_idt_4{text-indent: -4em;padding-left: 4em;}

/* bottomspace */
@media(max-width: 768px){
.gap_00 {gap:0!important;}
}

/* bottomspace */
.mb_00 {margin-bottom: 0!important;}
.mb_10 {margin-bottom: 10px!important;}
.mb_15 {margin-bottom: 15px!important;}
.mb_20 {margin-bottom: 20px!important;}
.mb_25 {margin-bottom: 25px!important;}
.mb_30 {margin-bottom: 30px!important;}
.mb_35 {margin-bottom: 35px!important;}
.mb_40 {margin-bottom: 40px!important;}
.mb_45 {margin-bottom: 45px!important;}
.mb_50 {margin-bottom: 50px!important;}
.mb_55 {margin-bottom: 55px!important;}
.mb_60 {margin-bottom: 60px!important;}
.mb_65 {margin-bottom: 65px!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;}

/* text size*/
.txt_12 {font-size: 1.2rem!important;}
.txt_14 {font-size: 1.4rem!important;}
.txt_16 {font-size: 1.6rem!important;}
.txt_18 {font-size: 1.8rem!important;}
.txt_20 {font-size: 2rem!important;}
.txt_22 {font-size: 2.2rem!important;}
.txt_24 {font-size: 2.4rem!important;}
.txt_26 {font-size: 2.6rem!important;}
.txt_28 {font-size: 2.8rem!important;}
.txt_30 {font-size: 3rem!important;}
.txt_32 {font-size: 3.2rem!important;}
.txt_34 {font-size: 3.4rem!important;}
.txt_36 {font-size: 3.6rem!important;}
.txt_38 {font-size: 3.8rem!important;}
.txt_40 {font-size: 4rem!important;}
.txt_42 {font-size: 4.2rem!important;}
.txt_50 {font-size: 5rem!important;}


@media screen and (max-width: 768px) {
/* bottomspace */
.mb_10 {margin-bottom: 2vw!important;}
.mb_15 {margin-bottom: 3vw!important;}
.mb_20 {margin-bottom: 4vw!important;}
.mb_25 {margin-bottom: 5vw!important;}
.mb_30 {margin-bottom: 6vw!important;}
.mb_35 {margin-bottom: 7vw!important;}
.mb_40 {margin-bottom: 8vw!important;}
.mb_45 {margin-bottom: 9vw!important;}
.mb_50 {margin-bottom: 10vw!important;}
.mb_55 {margin-bottom: 11vw!important;}
.mb_60 {margin-bottom: 12vw!important;}
.mb_65 {margin-bottom: 13vw!important;}
.mb_70 {margin-bottom: 14vw!important;}
.mb_80 {margin-bottom: 16vw!important;}
.mb_90 {margin-bottom: 18vw!important;}
.mb_100 {margin-bottom: 20vw!important;}

/* text size*/
.txt_12 {font-size: 1rem!important;}
.txt_14 {font-size: 1.2rem!important;}
.txt_16 {font-size: 1.4rem!important;}
.txt_18 {font-size: 1.6rem!important;}
.txt_20 {font-size: 1.8rem!important;}
.txt_22 {font-size: 2rem!important;}
.txt_24 {font-size: 2rem!important;}
.txt_26 {font-size: 2rem!important;}
.txt_28 {font-size: 2.2rem!important;}
.txt_30 {font-size: 2.2rem!important;}
.txt_32 {font-size: 2.4rem!important;}
.txt_34 {font-size: 2.6rem!important;}
.txt_36 {font-size: 2.8rem!important;}
.txt_38 {font-size: 3rem!important;}
.txt_40 {font-size: 3rem!important;}
.txt_42 {font-size: 3rem!important;}
}

/* text line-height*/
.txt_l10 {line-height: 1!important;}
.txt_l11 {line-height: 1.1!important;}
.txt_l12 {line-height: 1.2!important;}
.txt_l13 {line-height: 1.3!important;}
.txt_l14 {line-height: 1.4!important;}
.txt_l15 {line-height: 1.5!important;}
.txt_l16 {line-height: 1.6!important;}
.txt_l17 {line-height: 1.7!important;}
.txt_l18 {line-height: 1.8!important;}
.txt_l19 {line-height: 1.9!important;}
.txt_l20 {line-height: 2!important;}

/* text weight*/
.txt_w400 {font-weight: 400!important;}
.txt_w500 {font-weight: 500!important;}
.txt_w600 {font-weight: 600!important;}
.txt_w700 {font-weight: 700!important;}
.txt_w800 {font-weight: 800!important;}

/* text color*/
.c_00afcc {color: #00afcc!important;}
.c_8ec724 {color: #8ec724!important;}
.c_f38470 {color: #f38470!important;}
.c_f48570 {color: #f48570!important;}
.c_666666 {color: #666666!important;}
.c_1b1c80 {color: #1b1c80!important;}
.c_ffffff {color: #ffffff!important;}
.c_f08d1d {color: #f08d1d!important;}



/* bg color*/
.bgc_e7f5f2 { background-color: #e7f5f2!important;}
.bgc_fde7e2 { background-color: #fde7e2!important;}


/* 強調*/
.attention {width: auto; display: flex; flex-direction: row; justify-content: center; align-items:center; gap:10px; margin:0 auto;}
.attention:before {content: "＼";font-size: 1.2em; font-weight: 400;}
.attention:after {content: "／";font-size: 1.2em;font-weight: 400;}
       

.txt_center {text-align: center!important;}
.txt_left {text-align: left!important;}
.txt_right {text-align: right!important;}



/* ボタン*/
a.links {width: auto; height: 46px;font-size: 1.6rem; font-weight: 400; display:inline-flex; justify-content: space-between;align-items: center; position: relative; border: 1px solid #b8c3d1; color: #113866; padding: 0 45px 0 15px; border-radius: 23px;-webkit-transition: all .3s;transition: all .3s;}
a.links::after {content:"\e90f";font-family: "icomoon"; font-size: 1.4em; position: absolute; color: #587494;  right:15px;-webkit-transition: all .3s;transition: all .3s;}

a.links_left {width: auto; height: 46px;font-size: 1.6rem; font-weight: 400; display:inline-flex; justify-content: flex-end;align-items: center; position: relative; border: 1px solid #b8c3d1; color: #113866; padding: 0 15px 0 50px; border-radius: 23px;-webkit-transition: all .3s;transition: all .3s;}
a.links_left::before {content:"\e900";font-family: "icomoon"; font-size: 1.4em; position: absolute; color: #587494;  left:15px;-webkit-transition: all .3s;transition: all .3s;}


/* サイドボタン*/
.side_contents a.links {width: 100%!important;}

.btn_center {margin: 0 auto!important;}
.btn_blank::after {content:"\e910"!important; font-size: 1.2em;}
.btn_pdf::after {content:"\e909"!important; font-size: 1.2em;}
.btn_instagram::after {content:"\e90b"!important; font-size: 1em;}



@media screen and (min-width: 768px) {
a.links:hover {border: 1px solid #fe6b02; color: #ffffff; background: #fe6b02;}
a.links_left:hover {border: 1px solid #fe6b02; color: #ffffff; background: #fe6b02;}
a.links:hover::after {right:10px;color: #ffffff; }
a.links_left:hover::before {left:10px;color: #ffffff; }
}
@media screen and (max-width: 768px) {
a.links,a.links_left {max-width: auto; height: 40px;font-size: 1.4rem; border-radius: 20px;}
a.links::after,a.links_left::before { font-size: 1.2em; }
a.links span span{display: none;}
}

/* reCAPTCHAマーク非表示*/
.grecaptcha-badge { visibility: hidden; }

/* サイドコンテンツ*/
.side_sns {position: fixed; top: 0; right: 0; width: 40px; height: 100vh; display:flex; flex-direction: column; justify-content: center; align-items: center; gap:30px; z-index: 5;}
.side_sns a {width: auto; height: auto; font-size: 2.2rem; line-height: 1; color: #113866;-webkit-transition: all .3s;transition: all .3s;}

.side_copy {position: fixed; top: 0; left: 0; width: 40px; height: 100vh; display:flex; flex-direction: column; justify-content: center; align-items: center; z-index: 5;pointer-events: none;}
.side_copy span {font-family: "Jost", sans-serif; font-size: 1.2rem; font-weight: 500; line-height: 1; color: #113866;transform: rotate(90deg);white-space: nowrap;pointer-events: none;}


@media screen and (max-width: 768px) {
.side_sns {display: none; }
.side_copy {display: none;}
}


@media screen and (min-width: 768px) {
.side_sns a:hover {color: #fe6b02;}

}




/*========================================
WP
=======================================*/

.wp_txt {width: 100%;}
.wp_txt img{max-width: 100%;}
.wp_txt h1 {width: 100%; font-size: 3rem; font-weight:400; color:#113866; line-height:1.5; border-bottom:1px dotted #b8c3d1; padding-bottom:20px;  margin-bottom:30px;}
.wp_txt h2 {width: 100%; font-size: 2.6rem; font-weight:400; color:#113866; line-height:1.5; border-bottom:1px dotted #b8c3d1; padding-bottom:10px;  margin-bottom:20px;}
.wp_txt h3 {width: 100%; font-size: 2.2rem; font-weight:400; color:#113866; line-height:1.5; border-bottom:1px dotted #b8c3d1; padding-bottom:10px;  margin-bottom:20px;}
.wp_txt h4 {width: 100%; font-size: 1.8rem; font-weight:400; color:#113866; line-height:1.5; border-bottom:none; margin-bottom:20px;}
.wp_txt h5 {width: 100%; font-size: 1.6rem; font-weight:400; color:#113866; line-height:1.5; margin-bottom:10px;}
.wp_txt h6 {width: 100%; font-size: 1.4rem; font-weight:400; color:#113866; line-height:1.5; }
.wp_txt p {font-size: 1.6rem; font-weight:400; color:#113866; line-height:2; }


/* --- WP pagenation --- */
.pagination{margin:100px auto 0 auto;}
.nav-links{display:flex; flex-direction: row; justify-content: center; align-items: center;}
.pagination .page-numbers{font-size: 1.6rem; width: 40px; height: 40px; margin-right:10px;color:#113866;border-radius:3px;background:#ffffff; display:flex; flex-direction: row; justify-content: center; align-items: center; flex-wrap: nowrap;transition: all 0.3s;}
.pagination .page-numbers:hover {background:#fe6b02; color: #ffffff;}
.pagination .current{padding:15px;background:#113866;color:#fff;}
.pagination .current:hover{background:#113866;color:#fff;}
.pagination .prev,.pagination .next{background:transparent;box-shadow:none;color:#fe6b02;width: auto;}
.pagination .prev:hover,.pagination .next:hover{box-shadow:none;color:#113866;width: auto;background:none;}
.pagination .dots{background:transparent;box-shadow:none;}

@media screen and (max-width: 768px) {
.wp_txt h1 {width: 100%; font-size: 2.4rem; font-weight:400; color:#113866; line-height:1.5; border-bottom:1px dotted #b8c3d1; padding-bottom:15px;  margin-bottom:20px;}
.wp_txt h2 {width: 100%; font-size: 2rem; font-weight:400; color:#113866; line-height:1.5; border-bottom:1px dotted #b8c3d1; padding-bottom:5px;  margin-bottom:15px;}
.wp_txt h3 {width: 100%; font-size: 1.8rem; font-weight:400; color:#113866; line-height:1.5; border-bottom:1px dotted #b8c3d1; padding-bottom:5px;  margin-bottom:15px;}
.wp_txt h4 {width: 100%; font-size: 1.6rem; font-weight:400; color:#113866; line-height:1.5; border-bottom:none; margin-bottom:10px;}
.wp_txt h5 {width: 100%; font-size: 1.4rem; font-weight:400; color:#113866; line-height:1.5; margin-bottom:10px;}
.wp_txt h6 {width: 100%; font-size: 1.2rem; font-weight:400; color:#113866; line-height:1.5; }
.wp_txt p {font-size: 1.4rem;  }

.pagination{margin:50px auto 0 auto;}
}




/*========================================
events
=======================================*/

.event_btn_wrap {width: calc(100vw - 100px);display: flex; justify-content: flex-end; align-items: center; text-align:right; padding: 20px 0; margin: 0 auto;}
.events_contents .side_contents img{width: 100%; }

.events_wrap {width: 100%;display: flex; justify-content:flex-start; flex-wrap: wrap; flex-direction: column; gap:40px;}
.events_wrap dl.date {width: 100%; margin-bottom: 10px;}
.events_wrap dl.date dt {width: 100%;font-size: 2rem; font-weight: 500; line-height: 1.4;}
.events_wrap dl.date dd {width: 100%;font-size: 1.6rem; font-weight: 400; line-height: 1.4; }
.events_wrap ul {width: 100%;display: flex;justify-content: flex-start;align-items: center;gap:10px;}
.events_wrap ul li {width: auto; min-width: 110px; display: flex;justify-content: center;align-items: center; height: 24px;font-size: 1.2rem; font-weight: 400; line-height: 1.4; color: #ffffff; border-radius: 12px;}
.events_wrap ul li.ticket {background: #fe6b02;}
.events_wrap ul li.kinds {background: #a0afc2;}
.events_wrap h4 {width: 100%;font-size: 3rem; font-weight: 400; line-height: 1.4; display: flex;flex-direction: column; justify-content: flex-start;align-items: flex-start;gap:10px;}
.events_wrap h4 span {width: 50px;display: flex;justify-content: center;align-items: center; height: 24px;font-size: 1.2rem; font-weight: 400; line-height: 1.4; color: #ffffff;background: #113866; }

.events_wrap .events_cont_wrap {width: 100%;font-size: 1.6rem; font-weight: 400; line-height: 2; padding: 40px 0;border-bottom:1px solid #b8c3d1; border-top:1px solid #b8c3d1; }

.events_detail {width: 100%;padding: 0 0 40px 0;border-bottom:1px solid #b8c3d1; }
.events_detail dl{width: 100%;display: grid; grid-template-columns: 60px auto; gap:30px; align-items: start;font-size: 1.6rem; font-weight: 400; line-height: 1.6;border-bottom:1px dotted#b8c3d1; padding: 20px 0; }
.events_detail dl:first-of-type{ padding: 0 0 20px 0; }
.events_detail dl:last-of-type{border-bottom:none;padding: 20px 0 0 0;}



ul.events_top_wrap {width: 100%;}
ul.events_top_wrap > li{width: 100%; position: relative;border-top:1px solid #b8c3d1; padding: 50px 0;color: #113866;-webkit-transition: all .3s;transition: all .3s;}
ul.events_top_wrap > li:last-of-type {border-bottom:1px solid #b8c3d1;}
ul.events_top_wrap > li > div{width: 100%; display: grid; grid-template-columns: 220px auto; gap:30px; align-items: start; position: relative;}
ul.events_top_wrap > li > div::after {content:"\e90f";font-family: "icomoon"; font-size: 2rem; position: absolute; bottom: 5px; right: 10px; -webkit-transition: all .3s;transition: all .3s;}
ul.events_top_wrap > li > div img{height: 310px; width: 100%; object-fit: contain; -webkit-transition: all .3s;transition: all .3s;}

@media screen and (min-width: 768px) {
ul.events_top_wrap > li:hover {color: #fe6b02;}
ul.events_top_wrap > li:hover > div::after {transform: translateX(10px);color: #fe6b02;}
ul.events_top_wrap > li:hover > div img{transform:scale(1.05, 1.05);}
ul.events_top_wrap > li:hover > div h4 { border-bottom:1px solid #fe974e; }
}

ul.events_top_wrap > li > div div {width: 100%;display: flex; justify-content:flex-start; flex-wrap: wrap; flex-direction: column;}
ul.events_top_wrap > li > div dl {width: 100%; margin-bottom: 10px;}
ul.events_top_wrap > li > div dt {width: 100%;font-size: 2rem; font-weight: 500; line-height: 1.4;}
ul.events_top_wrap > li > div dd {width: 100%;font-size: 1.6rem; font-weight: 400; line-height: 1.4; }
ul.events_top_wrap > li > div ul {width: 100%;display: flex;justify-content: flex-start;align-items: center;gap:10px; margin-bottom: 30px;}
ul.events_top_wrap > li > div ul li {width: auto; min-width: 110px; display: flex;justify-content: center;align-items: center; height: 24px;font-size: 1.2rem; font-weight: 400; line-height: 1.4; color: #ffffff; border-radius: 12px;}
ul.events_top_wrap > li > div ul li.ticket {background: #fe6b02;}
ul.events_top_wrap > li > div ul li.kinds {background: #a0afc2;}
ul.events_top_wrap > li > div h4 {width: 100%;font-size: 2.4rem; font-weight: 400; line-height: 1.4; display: flex;justify-content: flex-start;align-items: center ;gap:15px;margin-bottom: 30px; padding-bottom: 30px; border-bottom:1px solid #b8c3d1; }
ul.events_top_wrap > li > div h4 span {width: 50px;display: flex;justify-content: center;align-items: center; height: 24px;font-size: 1.2rem; font-weight: 400; line-height: 1.4; color: #ffffff;background: #113866; margin-top: 5px;}
ul.events_top_wrap > li > div p {width: 100%;font-size: 1.6rem; font-weight: 400; line-height: 1.6; margin-bottom: 5px;text-indent: -2.5em;padding-left: 2.5em;}
ul.events_top_wrap > li > div p:last-of-type {margin-bottom: 0;}


@media screen and (max-width: 1000px) {
ul.events_top_wrap > li > div{width: 100%; display: flex; justify-content: flex-start;align-items: center;flex-direction: column;}
ul.events_top_wrap > li > div ul {width: 100%;display: flex;justify-content: flex-start;align-items: center;gap:10px; margin-bottom: 20px;}
ul.events_top_wrap > li > div h4 {width: 100%;font-size: 2.4rem; font-weight: 400; line-height: 1.4; display: flex;justify-content: flex-start;align-items: center ;gap:15px;margin-bottom: 20px; padding-bottom: 20px; border-bottom:1px dotted #b8c3d1; }
}


@media screen and (max-width: 768px) {
ul.events_top_wrap > li{padding: 40px 0;}
ul.events_top_wrap > li > div{gap:20px; }
ul.events_top_wrap > li > div::after {font-size: 1.8rem; position: absolute; bottom: 5px; right: 5px;}
ul.events_top_wrap > li > div img{height: 210px; width: 100%; }
ul.events_top_wrap > li > div dl {width: 100%; margin-bottom: 10px;}
ul.events_top_wrap > li > div dt {width: 100%;font-size: 1.6rem; font-weight: 500; line-height: 1.4;}
ul.events_top_wrap > li > div dd {width: 100%;font-size: 1.2rem; font-weight: 400; line-height: 1.4; }
ul.events_top_wrap > li > div ul {width: 100%;display: flex;justify-content: flex-start;align-items: center;gap:10px; }
ul.events_top_wrap > li > div ul li {width: auto; min-width: 100px; display: flex;justify-content: center;align-items: center; height: 20px;font-size: 1rem; font-weight: 400; line-height: 1; color: #ffffff; border-radius: 10px;}
ul.events_top_wrap > li > div h4 {width: 100%;font-size: 2rem; font-weight: 400; line-height: 1.4; display: flex;justify-content: flex-start;align-items: center ;gap:10px;}
ul.events_top_wrap > li > div h4 span {width: 40px;display: flex;justify-content: center;align-items: center; height: 20px;font-size: 1rem; font-weight: 400; line-height: 1.4; color: #ffffff;background: #113866; margin-top: 2px;}
ul.events_top_wrap > li > div p {width: 100%;font-size: 1.4rem; font-weight: 400; line-height: 1.6; margin-bottom: 5px;text-indent: -2.5em;padding-left: 2.5em;}
ul.events_top_wrap > li > div p:last-of-type {margin-bottom: 0;}


.event_btn_wrap {width: calc(100vw - 20px);display: flex; justify-content: flex-end; align-items: center; text-align:right; padding: 20px 0 0 0; margin: 0 auto;}
.events_contents .side_contents img{width: 100%; max-width: 400px;}

.events_wrap {width: 100%;display: flex; justify-content:flex-start; flex-wrap: wrap; flex-direction: column; gap:25px;}
.events_wrap dl.date {width: 100%; margin-bottom: 10px;}
.events_wrap dl.date dt {width: 100%;font-size: 1.7rem; font-weight: 500; line-height: 1.4;}
.events_wrap dl.date dd {width: 100%;font-size: 1.3rem; font-weight: 400; line-height: 1.4; }
.events_wrap ul {width: 100%;display: flex;justify-content: flex-start;align-items: center;gap:10px;}
.events_wrap ul li {width: auto; min-width: 100px; display: flex;justify-content: center;align-items: center; height: 20px;font-size: 1rem; font-weight: 400; line-height: 1; color: #ffffff; border-radius: 10px;}
.events_wrap ul li.ticket {background: #fe6b02;}
.events_wrap ul li.kinds {background: #a0afc2;}
.events_wrap h4 {width: 100%;font-size: 2.8rem; font-weight: 400; line-height: 1.4; display: flex;flex-direction: column; justify-content: flex-start;align-items: flex-start;gap:5px;}
.events_wrap h4 span {width: 50px;display: flex;justify-content: center;align-items: center; height: 24px;font-size: 1.2rem; font-weight: 400; line-height: 1.4; color: #ffffff;background: #113866; }

.events_wrap .events_cont_wrap {width: 100%;font-size: 1.4rem; font-weight: 400; line-height: 2; padding: 25px 0;border-bottom:1px solid #b8c3d1; border-top:1px solid #b8c3d1; }

.events_detail {width: 100%;padding: 0 0 40px 0;border-bottom:1px solid #b8c3d1; }
.events_detail dl{width: 100%;display: grid; grid-template-columns: 60px auto; gap:25px; align-items: start;font-size: 1.4rem; font-weight: 400; line-height: 1.6;border-bottom:1px dotted#b8c3d1; padding: 10px 0; }
.events_detail dl:first-of-type{ padding: 0 0 10px 0; }
.events_detail dl:last-of-type{border-bottom:none;padding: 10px 0 0 0;}
}



/*========================================
contact
=======================================*/

.contact_tel_wrap {width:100%; text-align: center; padding-top: 20px; }
.contact_tel_wrap div{width:auto; font-family: "Jost", sans-serif;font-size: 4.8rem; font-weight: 400; line-height: 1.2; display: flex;justify-content: center;align-items: center; gap:15px;}
.contact_tel_wrap div i{font-size: 1.2em}


.contact_wrap {width: 100%; max-width:860px;  padding: 0 0 0 0; margin: 0 auto; position: relative;}
.contact_wrap p {font-size: 1.6rem;line-height: 1.7; font-weight:400;  }
.contact_form {width: 100%;border-collapse: collapse;margin: 0 auto;}
.contact_wrap tr {display: block;border-top:1px solid #b8c3d1;}
.contact_wrap tr.bnone {border: none; }
.contact_wrap tr:last-child {border-bottom: solid 1px rgba(34,56,93,0.2);}
.contact_wrap th {font-size: 1.7rem; font-weight: 500;width: 220px;padding: 50px 0 0 0;text-align: left;vertical-align: top;}
main.confirm .contact_wrap th {font-size: 1.7rem; font-weight: 500;width: 220px;padding: 0 0 0 0;text-align: left;vertical-align: middle;}
.contact_wrap th > div{width: 100%; display: flex;justify-content: space-between;align-items: center;  vertical-align: text-top; position: relative;}
.contact_wrap th > div div {display: flex; justify-content:flex-start; flex-wrap: wrap; flex-direction: column; line-height: 1.5}
.contact_wrap th.required > div:after {content: "必須";background: #fe6b02;color: #ffffff;font-size: 1.4rem;padding: 8px;text-align: center; white-space: nowrap; border-radius: 3px;}
.contact_wrap td {width: 660px; font-size: 1.6rem; font-weight: 500;padding: 30px 0 30px 50px;text-align: left;}
.contact_wrap tr.bnone th{padding: 15px 0 30px 0;}
.contact_wrap tr.bnone td{padding: 0 0 30px 50px;}
.wpcf7-email,.wpcf7-text,.contact_wrap input[type="text"]{ display: block;width: 100%; height: 60px; border: none; background: #e9ebef;padding: 0 20px; border-radius: 3px;vertical-align: top;outline: none;font-size: 1.6rem; }
.contact_wrap input[type="text"]:nth-of-type(2){margin-top: 10px;}
.contact_wrap select{ display: block;width: 100%; height: 60px; border: none; background: #e9ebef;padding: 0 20px; border-radius: 3px;vertical-align: top;outline: none;font-size: 1.6rem; -webkit-appearance: none;appearance: none;}
.select_wrapper {position: relative;}
.select_wrapper::after {content: "";position: absolute;top: 21px;right: 16px;width: 12px;height: 12px;border-right: 2px solid #333;border-bottom: 2px solid #333;transform: rotate(45deg);pointer-events: none;}

.contact_wrap .pcode {display: flex; justify-content: flex-start; align-items: center; flex-wrap: nowrap; margin-bottom: 20px;}
.contact_wrap .pcode p {display: flex; justify-content: flex-start; align-items: center; flex-wrap: nowrap;}
.contact_wrap .pcode input {width: 160px;}
.contact_wrap textarea {display: block;width: 100%; height: auto; border: none; background: #e9ebef;padding: 20px; border-radius: 3px;vertical-align: top;outline: none;font-size: 1.6rem;  }
.wpcf7-email:focus,.wpcf7-text:focus,.contact_wrap input[type="text"]:focus,.contact_form textarea:focus {border: solid 1px rgba(0,92,161,.5);}
.contact_wrap input[type="checkbox"],.contact_wrap input[type="radio"] {width: 18px;height: 18px;margin: 0;padding: 0;}
.contact_wrap .text-area {display: flex; justify-content: flex-start; align-items: center; gap:20px; padding-top: 10px; font-size: 1.6rem;}

.top-cell {padding: 30px 0 0 0!important;}


::placeholder {color: #aaaaaa;}
::-ms-input-placeholder {color: #aaaaaa;}
:-ms-input-placeholder {color: #aaaaaa;}

.contact_wrap .checkbox_label {display: inline-block;cursor: pointer;font-size: 1.6rem; }
.contact_wrap .checkbox_txt {vertical-align: top;}
.wpcf7-response-output,.contact_wrap label.error {font-size: 1.6rem;display: block;margin: .3em 0 0 0;color: #dd0030; border:none!important;}
.confirm_wrap {text-align: center; margin-top: 50px;}
.confirm_wrap02 {text-align: center; display: flex; justify-content: space-around;align-items: center;}
.confirm_wrap label{margin-bottom: 0;}
.confirm_wrap p {text-align: center; }
.confirm_wrap p:nth-child(2) {margin-bottom:20px;}



.confirm_btn {width: 300px; height: 46px;font-size: 1.6rem; font-weight: 400; display:flex; justify-content: space-between;align-items: center; position: relative; background: #113866; color: #ffffff; padding: 0 20px; border-radius: 23px;cursor: pointer; margin: 0 auto; -webkit-transition: all .3s;transition: all .3s;}
.confirm_btn::after {content:"\e90f";font-family: "icomoon"; font-size: 1.4em; position: absolute; color: #ffffff;  right:15px;-webkit-transition: all .3s;transition: all .3s;}

.back_btn {width: 300px; height: 46px;font-size: 1.6rem; font-weight: 400; display:inline-flex; justify-content: center;align-items: center; position: relative; border: 1px solid #b8c3d1; color: #113866; padding: 0 ; border-radius: 23px;-webkit-transition: all .3s;transition: all .3s; margin:0 auto 20px auto;}


@media screen and (min-width: 768px) {
.confirm_btn:hover {background: #fe6b02;}
.confirm_btn:hover::after {right:10px; }
.back_btn:hover {background: #fe6b02; color: #ffffff;border: 1px solid #fe6b02;}
}

.confirm th {padding: 30px 0!important; line-height: 1.6;}
.confirm td {padding: 30px 0!important; line-height: 1.6;}

@media screen and (max-width: 768px) {
.contact_tel_wrap {width:100%; text-align: center; padding-top: 20px; }
.contact_tel_wrap div{width:auto; font-family: "Jost", sans-serif;font-size: 4rem; font-weight: 400; line-height: 1.2; display: flex;justify-content: center;align-items: center; gap:15px; margin-left: -15px;}
.contact_tel_wrap div i{font-size: 1.2em}


.contact_wrap p {font-size: 1.4rem;line-height: 1.7; font-weight:500;  }
.contact_form tr,
.contact_form td,
.contact_form tr.bnone td{display: block;width: 100%;padding: 20px 0 10px 0!important;;border: none;font-size: 1.4rem; vertical-align: middle;}
.contact_form th,.contact_form tr.bnone th {width: 100%;padding:0; color: #113866;font-size: 1.6rem;height:50px;display: flex;align-items: center;border-bottom:1px solid #b8c3d1;}
.contact_wrap th.required div:after {font-size: 1.2rem;}
.wpcf7-email,.wpcf7-text,.contact_wrap input[type="text"] {font-size: 1.3rem; height: 50px;}
.wpcf7-response-output,.contact_wrap label.error {font-size: 1.2rem;display: block;margin: .3em 0 0 0;color: #ff6b6b;}
.contact_wrap textarea {font-size: 1.3rem;}
.contact_wrap .checkbox_label {font-size: 1.4rem; }
.contact_wrap input[type="checkbox"],.contact_wrap input[type="radio"] {width: 14px;height: 14px;margin: 0;padding: 0; font-size: 1.4rem;}
.contact_wrap select{ display: block;width: 100%; height: 50px; border: none; background: #ffffff;padding: 0 20px; border-radius: 3px;vertical-align: top;outline: none;font-size: 1.4rem; -webkit-appearance: none;appearance: none;}
.select_wrapper::after {content: "";position: absolute;top: 18px;right: 16px;width: 12px;height: 12px;border-right: 2px solid #333;border-bottom: 2px solid #333;transform: rotate(45deg);}
.contact_wrap th > div div {display: flex; justify-content:flex-start;align-items: center; flex-direction: row; line-height: 1.5}
.contact_wrap th > div div span {font-size: 1.2rem!important;}

.contact01_wrap,.contact_wrap {padding: 0 0 13vw 0;}
.confirm_btn {margin: 5vw auto 0;border-radius: 25px;color: #ffffff;font-size: 1.6rem;height: 50px;}
.back_btn {height: 50px;font-size: 1.6rem; }
.contact_wrap p {font-size: 1.4rem;line-height: 1.7; font-weight:400; }
.contact_wrap textarea {border-radius: 5px;}
}







/*========================================
information
=======================================*/


.information_top_wrap  {width:100%; padding: 0; margin: 0 auto;border-top: 1px solid #b8c3d1;}
.information_top_wrap> div {width:100%; max-width: 1200px;padding: 0;}
.information_top_wrap > div dl {width:100%; height: auto;border-bottom: 1px solid #b8c3d1;padding: 40px 0; position: relative;display: flex;justify-content: flex-start;align-items: flex-start; flex-direction: column; gap:5px; padding-right: 40px;}
.information_top_wrap > div dl::after {content: "\e90f";font-size: 2rem; color: #113866;font-family: 'icomoon' !important; speak: never;font-style: normal;font-weight: normal;font-variant: normal;text-transform: none;line-height: 1; position: absolute; top:50%; right: 10px; -webkit-transition: all .3s;transition: all .3s}
.information_top_wrap > div dl dt {width:auto; height: auto; font-family: "Jost", sans-serif;font-size: 1.4rem; font-weight: 500; line-height: 1.2; color: #113866;white-space: nowrap;display: flex;justify-content: flex-start;align-items: center; flex-direction: row; gap:20px;-webkit-transition: all .3s;transition: all .3s}
.information_top_wrap > div dl dt span {width: auto; height: 24px; display: inline-flex; justify-content: center;align-items: center;font-size: 1.2rem; font-weight: 600; color: #ffffff; padding: 0 15px; background: #f29972; border-radius: 12px;}
.information_top_wrap > div dl dd {width:100%; height: auto; font-size: 1.6rem; font-weight: 400; line-height: 1.8; color: #113866;display: flex;justify-content: space-between;align-items: center; flex-direction: row;-webkit-transition: all .3s;transition: all .3s}


@media screen and (min-width: 768px) {
.information_top_wrap > div dl:hover dt {color: #fe6b02;}
.information_top_wrap > div dl:hover dd {color: #fe6b02;}
.information_top_wrap > div dl:hover::after {transform: translateX(10px);color: #fe6b02;}
}


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

.information_top_wrap> div {width:100%; max-width: 1200px;padding: 0;}
.information_top_wrap > div dl {width:100%; height: auto;border-bottom: 1px solid #b8c3d1;padding: 20px 0; position: relative;display: flex;justify-content: flex-start;align-items: flex-start; flex-direction: column; gap:5px; padding-right: 40px;}

.information_top_wrap > div dl::after {content: "\e90f";font-size: 1.6rem;}
.information_top_wrap > div dl dt {width:auto; height: auto; font-family: "Jost", sans-serif;font-size: 1.2rem; font-weight: 500; line-height: 1.2; color: #113866;white-space: nowrap;display: flex;justify-content: flex-start;align-items: center; flex-direction: row; gap:10px;-webkit-transition: all .3s;transition: all .3s}
.information_top_wrap > div dl dt span {width: auto; height: 20px; display: inline-flex; justify-content: center;align-items: center;font-size: 1.1rem; font-weight: 600; color: #ffffff; padding: 0 15px; background: #f29972; border-radius: 10px;}
.information_top_wrap > div dl dd {width:100%; height: auto; font-size: 1.4rem; font-weight: 400; line-height: 1.8; color: #113866;display: flex;justify-content: space-between;align-items: center; flex-direction: row;-webkit-transition: all .3s;transition: all .3s}

}



/*========================================
column
=======================================*/

.column_wrap {width: 100%;}
.column_wrap {width: 100%;}
.column_wrap > h3 {width: 100%;font-size: 3rem; font-weight: 400; line-height: 1.6;color: #113866; border-bottom:1px solid #b8c3d1; padding-bottom: 30px;}
.column_wrap dl {width: 100%; margin: 30px 0 40px 0;}
.column_wrap dl dt{width: 100%; font-family: "Jost", sans-serif;font-size: 1.6rem; font-weight: 500; line-height: 1.2; color: #113866;display: flex; justify-content: flex-start;align-items: center; gap:20px;}
.column_wrap dl dt span {width: auto; height: 24px; display: inline-flex; justify-content: center;align-items: center;font-size: 1.2rem; font-weight: 600; color: #ffffff; padding: 0 15px; background: #f29972; border-radius: 12px;}
.column_map_title {font-family: "Jost", sans-serif;font-size: 2.8rem; font-weight: 400; line-height: 1.2; color: #113866; margin-bottom: 30px;}

.column_top_wrap {width: 100%;display: flex;justify-content: flex-start; flex-direction: row; flex-wrap: wrap; align-items: stretch;gap:60px 0;}
.column_top_wrap li {width: 33%; }
.column_top_wrap li:last-of-type {border-right:1px solid #b8c3d1;}
.column_top_wrap li:nth-of-type(3n) {border-right:1px solid #b8c3d1;}

.column_top_wrap li > div{width: 100%;border-left:1px solid #b8c3d1;  padding: 0 20px 30px 20px; display: flex;justify-content: flex-start; flex-direction: column; align-items: flex-start; position: relative;}
.column_top_wrap li > div img {height: 160px; width: 100%; object-fit: contain; margin-bottom: 20px;-webkit-transition: all .3s;transition: all .3s;}
.column_top_wrap li > div > dl {width: 100%; display: flex;justify-content: flex-start; flex-direction: column; gap:10px;}
.column_top_wrap li > div > dl dt{width: 100%; font-family: "Jost", sans-serif;font-size: 1.3rem; font-weight: 500; line-height: 1.2; color: #7088a3;display: flex; justify-content: flex-start;align-items: center; gap:5px;}
.column_top_wrap  li > div > dl dt span {width: auto; height: 20px; display: inline-flex; justify-content: center;align-items: center;font-size: 1.2rem; font-weight: 600; color: #ffffff; padding: 0 10px; background: #f29972; border-radius: 10px;}

.column_top_wrap li > div > dl dd{width: 100%; font-size: 1.6rem; font-weight: 500; line-height: 1.4; text-align:justify; color: #113866;-webkit-transition: all .3s;transition: all .3s;}
.column_top_wrap li > div::after {content:"\e90f";font-family: "icomoon"; font-size: 2rem; position: absolute; bottom: 5px; right: 10px; -webkit-transition: all .3s;transition: all .3s;}
@media screen and (min-width: 768px) {
.column_top_wrap li:hover > div img {transform:scale(1.05, 1.05);}
.column_top_wrap li > div:hover > dl dd{ color: #fe6b02;}
.column_top_wrap li > div:hover::after {bottom: 5px; right: 5px;color: #fe6b02; }
}

@media screen and (max-width: 1000px) {
.column_top_wrap li {width: 50%; }
.column_top_wrap li:last-of-type {border-right:1px solid #b8c3d1;}
.column_top_wrap li:nth-of-type(3n) {border-right:none;}
.column_top_wrap li:nth-of-type(2n) {border-right:1px solid #b8c3d1;}
}


@media screen and (max-width: 768px) {
.column_top_wrap {width: 100%;display: flex;justify-content: flex-start; flex-direction: row; flex-wrap: wrap; align-items: stretch;gap:30px 0;}

.column_top_wrap li > div{width: 100%;border-left:1px solid #b8c3d1;  padding: 0 15px 20px 15px; display: flex;justify-content: flex-start; flex-direction: column; align-items: flex-start; position: relative;}
.column_top_wrap li > div img {height: 120px; width: 100%; object-fit: contain; margin-bottom: 10px;-webkit-transition: all .3s;transition: all .3s;}
.column_top_wrap li > div > dl {width: 100%; display: flex;justify-content: flex-start; flex-direction: column; gap:10px;}
.column_top_wrap li > div > dl dt{width: 100%; font-family: "Jost", sans-serif;font-size: 1.2rem; font-weight: 500; line-height: 1.2; color: #7088a3;display: flex; justify-content: flex-start;flex-direction: column; align-items: flex-start; gap:5px;}
.column_top_wrap  li > div > dl dt span {width: auto; height: 20px; display: inline-flex; justify-content: center;align-items: center;font-size: 1.1rem; font-weight: 600; color: #ffffff; padding: 0 10px; background: #f29972; border-radius: 10px;}
.column_top_wrap li > div > dl dd{width: 100%; font-size: 1.4rem; font-weight: 500; line-height: 1.4; text-align:justify; color: #113866;-webkit-transition: all .3s;transition: all .3s;}


.column_top_wrap li > div::after {content:"\e90f";font-family: "icomoon"; font-size: 1.6rem; position: absolute; bottom: 0; right: 10px; -webkit-transition: all .3s;transition: all .3s;}

.column_wrap > h3 {width: 100%;font-size: 2.2rem; font-weight: 400; line-height: 1.6;color: #113866; border-bottom:1px solid #b8c3d1; padding-bottom: 20px;}
.column_wrap dl {width: 100%; margin: 30px 0 40px 0;}
.column_wrap dl dt{width: 100%; font-family: "Jost", sans-serif;font-size: 1.4rem; font-weight: 500; line-height: 1.2; color: #113866;display: flex; justify-content: flex-start;align-items: center; gap:20px;}
.column_wrap dl dt span {width: auto; height: 20px; display: inline-flex; justify-content: center;align-items: center;font-size: 1rem; font-weight: 600; color: #ffffff; padding: 0 15px; background: #f29972; border-radius: 10px;}
.column_map_title {font-family: "Jost", sans-serif;font-size: 1.8rem; font-weight: 400; line-height: 1.2; color: #113866; margin-bottom: 30px;}


}


/*========================================
Access
=======================================*/


.addres_wrap {width: 100%;}
.addres_wrap div {width: 100%;font-size: 2rem; font-weight: 600; line-height: 1;color: #113866; margin-bottom: 20px;}
.addres_wrap dl {width: 100%;display: flex; justify-content:flex-start; flex-direction: row; align-items: stretch; gap:20px; }
.addres_wrap dl dt{width: auto;border-right:1px solid #b8c3d1; padding-right: 20px;}
.map_wrap { width: 100%; height: 480px; overflow:hidden; }
.map_wrap iframe{ width: 100%; height: 100%;}

@media screen and (max-width: 768px) {
.addres_wrap div {font-size: 1.7rem; }
.addres_wrap dl {gap:20px;flex-direction: column; }
.addres_wrap dl dt{width: auto;border-right:none; padding-right:0;}
}






/*========================================
Userguide
=======================================*/

ul.flow_wrap {width: 100%;display: flex; justify-content: flex-start; flex-direction: column; align-items: flex-start; gap:40px;}
ul.flow_wrap li{width: 100%;display: flex; justify-content:flex-start; flex-direction: row; align-items: stretch; gap:40px; position: relative;}
ul.flow_wrap li::after{content: "▼"; font-size: 1.6rem; font-weight: 500; line-height: 1;color: #889bb2;position: absolute; bottom:-28px; left: 52px;}
ul.flow_wrap li:last-of-type::after{display: none;}
ul.flow_wrap li img {width: 120px;}
ul.flow_wrap li p {line-height: 1.6}

ul.campaign {width: 100%;display: flex; justify-content: space-between; flex-direction: row; align-items: flex-start; gap:1.5%; padding-bottom: 30px;border-bottom:1px solid #b8c3d1;}
ul.campaign li{width: 33%;display: flex; justify-content: flex-start; flex-direction: column; align-items: flex-start;}
ul.campaign li > div {width: 100%; height:80px; display:flex; justify-content: center; flex-direction: column; align-items: center; gap:5px; background: #e7ebf0; border-radius: 5px; margin-bottom: 10px;}
ul.campaign li > div div {font-size: 1.6rem; font-weight: 700; line-height: 1;color: #ea5514; text-align: center;}
ul.campaign li > div div span{font-size: 2.4rem; }


@media screen and (max-width: 768px) {
ul.flow_wrap {width: 100%;display: flex; justify-content: flex-start; flex-direction: column; align-items: flex-start; gap:30px;}
ul.flow_wrap li{width: 100%;display: flex; justify-content:flex-start; flex-direction: row; align-items: flex-start; gap:15px; position: relative;}
ul.flow_wrap li::after{content: "▼"; font-size: 1.4rem; font-weight: 500; line-height: 1;color: #889bb2;position: absolute; top:110px; left: 45px;}
ul.flow_wrap li:last-of-type::after{display: none;}
ul.flow_wrap li img {width: 100px;}
ul.flow_wrap li p {line-height: 1.6}

ul.campaign {width: 100%;display: flex; justify-content: space-between; flex-direction: column; align-items: flex-start; gap:20px; padding-bottom: 30px;border-bottom:1px solid #b8c3d1;}
ul.campaign li{width: 100%;display: flex; justify-content: flex-start; flex-direction: column; align-items: flex-start;}
ul.campaign li > div {width: 100%; height:80px; display:flex; justify-content: center; flex-direction: column; align-items: center; gap:5px; background: #e7ebf0; border-radius: 5px; margin-bottom: 10px;}
ul.campaign li > div div {font-size: 1.5rem; font-weight: 700; line-height: 1;color: #ea5514; text-align: center;}
ul.campaign li > div div span{font-size: 2rem; }
}



/*========================================
Facility
=======================================*/


/* top */
ul.facility_top_wrap_01 {width: 100%;display: flex; justify-content: space-between; flex-direction: row; align-items: stretch;flex-wrap: wrap; gap:2.25vw;}
ul.facility_top_wrap_01 li{width: 46.5%;display: flex; justify-content: flex-start; align-items: flex-start; flex-direction: column; gap:20px; text-align: center; position: relative;}
ul.facility_top_wrap_01 li img {width: 100%; height: auto;-webkit-transition: all .3s;transition: all .3s;}

ul.facility_top_wrap_01 li h4 {font-size: 1.6rem; font-weight: 500; line-height: 1.8;color: #113866;display: flex;justify-content: flex-start;align-items: flex-start; flex-direction: column;-webkit-transition: all .3s;transition: all .3s;}
ul.facility_top_wrap_01 li h4 span {display: block; font-family: "Jost", sans-serif;font-size: 3.8rem; font-weight: 400; line-height: 1.2; }
ul.facility_top_wrap_01 li::after {content:"\e90f";font-family: "icomoon"; font-size: 2rem; position: absolute; bottom: 5px; right: 5px; -webkit-transition: all .3s;transition: all .3s;}
@media screen and (min-width: 768px) {ul.facility_top_wrap_01 li:hover h4 {color: #fe6b02;} ul.facility_top_wrap_01 li:hover img {transform:scale(1.05, 1.05); } ul.facility_top_wrap_01 li:hover::after {color: #fe6b02; right: 0;}}

ul.facility_top_wrap_02 {width: 100%;display: flex; justify-content: space-between; flex-direction: column; align-items: stretch;flex-wrap: wrap; gap:100px;}
ul.facility_top_wrap_02 li{width: 100%;display: flex; justify-content: flex-start; align-items: flex-start; flex-direction: column; gap:20px; osition: relative;}
ul.facility_top_wrap_02 li img {width: 100%; height: auto;-webkit-transition: all .3s;transition: all .3s;}

ul.facility_top_wrap_02 li h4 {width: 100%; -webkit-transition: all .3s;transition: all .3s;}
ul.facility_top_wrap_02 li h4 span {display: block; font-family: "Jost", sans-serif;font-size: 4.8rem; font-weight: 400; line-height: 1; }


.facility_wrap_01 {width: 100%;display: flex; justify-content: flex-start; align-items: flex-start; flex-direction: column; gap:40px; text-align: center; margin-bottom: 100px;}
.facility_wrap_01 h5{width: 100%;font-size: 1.7rem; font-weight: 600; line-height: 1.8;color: #113866;text-align: left; }
.facility_wrap_01 img{width: 100%; max-width: 860px;}

.facility_wrap_02 {width: 100%;display: flex; justify-content: flex-start; align-items: flex-start; flex-direction: column; gap:10px; border-top:1px solid #b8c3d1; border-bottom:1px solid #b8c3d1; padding: 30px 0;}
.facility_wrap_02 dl {width: 100%;font-size: 1.6rem; font-weight: 500; line-height: 1.8; text-align: left; color: #113866;display: grid; grid-template-columns: 80px auto; align-items: start; }
.facility_wrap_02 dl dt,.facility_wrap_02 dl dd{width: auto; }

.facility_wrap_03 {width: 100%;display: flex; justify-content: flex-start; align-items: flex-start; flex-direction: column; gap:40px;}
.facility_wrap_03 h4{width: 100%;font-size: 2.4rem; font-weight: 400; line-height: 1.6;color: #113866; border-bottom:1px solid #b8c3d1;}
.facility_wrap_03 .sub_room {width: 100%;  display: grid; grid-template-columns: 40% auto; align-items: start; gap:10px;}
.facility_wrap_03 .sub_room > div {width: 300px;font-size: 1.6rem; font-weight: 500; line-height: 1.8; }
.facility_wrap_03 .sub_room > img {width: 100%; }



@media screen and (max-width: 1000px) {
ul.facility_top_wrap_01 {justify-content: center; flex-direction: column; align-items: center;flex-wrap: wrap; gap:40px;}
ul.facility_top_wrap_01 li{width: 100%; max-width:600px;  gap:15px; }

.facility_wrap_03 .sub_room {width: 100%;  text-align: center;display: flex; justify-content: flex-start; align-items: flex-start; flex-direction: column; gap:40px;}
.facility_wrap_03 .sub_room > div {width: 100%; font-size: 1.6rem; font-weight: 500; line-height: 1.8; text-align: left;}
.facility_wrap_03 .sub_room > img {width: 100%; }
}

@media screen and (max-width: 768px) {
ul.facility_top_wrap_01 li h4 {font-size: 1.4rem; }
ul.facility_top_wrap_01 li h4 span {font-size: 2.8rem; }

ul.facility_top_wrap_02 {gap:50px;}
ul.facility_top_wrap_02 li h4 span {display: block; font-family: "Jost", sans-serif;font-size: 3rem; font-weight: 400; line-height: 1; }


.facility_wrap_01 {margin-bottom: 50px;gap:30px;}
.facility_wrap_01 h5{width: 100%;font-size: 1.5rem; font-weight: 600; line-height: 1.8;color: #113866;text-align: left; }

.facility_wrap_02 {gap:5px; padding: 20px 0;}
.facility_wrap_02 dl {font-size: 1.4rem; grid-template-columns: 60px auto; }

.facility_wrap_03 {gap:30px;}
.facility_wrap_03 h4{font-size: 2rem; }
.facility_wrap_03 .sub_room {gap:30px;}
.facility_wrap_03 .sub_room > div {width: 100%;font-size: 1.4rem; }
.facility_wrap_03 .sub_room > img {width: 100%; }


}








/*========================================
Pages
=======================================*/


/* 通常使用*/
article.def_wrap {width: 100%; margin-bottom: 100px;}
article.def_wrap:last-of-type {width: 100%; margin-bottom: 0;}
article.def_wrap h4 {width: 100%;font-size: 2.4rem; font-weight: 400; line-height: 1.6;color: #113866; border-bottom:1px solid #b8c3d1; margin-bottom: 30px;}
article.def_wrap h5 {width: 100%;font-size: 1.8rem; font-weight: 600; line-height: 2;color: #113866; }
article.def_wrap p {width: 100%;font-size: 1.6rem; font-weight: 400; line-height: 2;color: #113866; }
article.def_wrap img {max-width: 100%;}

/* 表組 */
table.ug_table_01 {width: 100%;font-size: 1.6rem; font-weight: 400; line-height: 2;color: #113866;border-collapse: collapse;border: solid 1px #b8c3d1;}
table.ug_table_01 th,table.ug_table_01 td {border: solid 1px #b8c3d1;padding: 15px;background: #ffffff;}
table.ug_table_01 th {max-width: 300px; background: #f3f5f7;font-weight: 400;}
table.ug_table_01 td {font-weight: 600; vertical-align: middle;white-space: nowrap;}

table.ug_table_02 {width: 100%;font-size: 1.6rem; font-weight: 400; line-height: 1.6;color: #113866;border-collapse: collapse;}
table.ug_table_02 th,table.ug_table_02 td {border: solid 1px #b8c3d1;padding: 15px;background: #ffffff;vertical-align: middle;text-align: center; }
table.ug_table_02 td {white-space: nowrap;}
table.ug_table_02 th {max-width: 20%; background: #f3f5f7;font-weight: 400;}
table.ug_table_02 .txt_left {text-align: left;}

table.ug_table_02 tr.setcampaign {border: solid 2px #113866;padding: 15px; }
table.ug_table_02 tr.bt_dotted {border-top: dotted 1px #b8c3d1!important;}
table.ug_table_02 tr.bt_dotted th,table.ug_table_02 tr.bt_dotted td {border-top: dotted 1px #ccd3db!important;}




@media screen and (max-width: 1000px) {
.table_scroll{ display: block;overflow-x: auto; overflow-y: hidden;-webkit-overflow-scrolling: touch;}
}

@media screen and (max-width: 768px) {
article.def_wrap {margin-bottom: 50px;}
article.def_wrap:last-of-type {width: 100%; margin-bottom: 0;}
article.def_wrap h4 {font-size: 2rem;  margin-bottom: 20px;}
article.def_wrap h5 {font-size: 1.6rem; }
article.def_wrap p {font-size: 1.4rem;}


/* 表組 */
table.ug_table_01 {font-size: 1.4rem; white-space: nowrap;}
table.ug_table_02 {font-size: 1.4rem; white-space: nowrap;}

}




/* タイトル */
body.page main > h2 {width: calc(100vw - 100px); height: 210px; font-size: 2.2rem; font-weight: 500; line-height: 1.2;color: #113866;display: flex;justify-content: center;align-items: center; flex-direction: column;background-color: #e7ebf0; background-image:url("../img/h2_bg.svg"); background-size: 290px auto; background-position: right -2px bottom -2px; background-repeat: no-repeat; margin: 0 auto;}
body.page main > h2 span {display: block; font-family: "Jost", sans-serif;font-size: 6.8rem; font-weight: 400; line-height: 1.2; }

/* パンくず */
.breadcrumb {width: calc(100vw - 100px);display: flex; justify-content: flex-end; align-items: center; gap:10px;text-align:right; border-bottom:1px solid #b8c3d1; padding: 15px 0; margin: 0 auto;}
.breadcrumb li{ font-size: 1.4rem; font-weight: 400;line-height: 1; color: #113866; width:auto; height: auto; display: flex; align-items: center; gap:10px; text-align:right;}
.breadcrumb li i{font-size: 1.4em; }
.breadcrumb li a{color: #113866;-webkit-transition: all .3s;transition: all .3s;}
.breadcrumb li::before{content: ">"; font-family: "Jost", sans-serif; font-weight: 400;color: #113866;font-size: 0.8em; line-height: 1; }
.breadcrumb li:first-child::before{display: none;}

@media screen and (min-width: 768px) {.breadcrumb li a:hover{color: #fe6b02;}}

/* page contents */
.page_contents {width: calc(100vw - 100px); max-width: 1300px; height: auto; display: grid; grid-template-columns: 250px auto; gap:30px; align-items: start; margin: 100px auto 0 auto; position: relative;}
.page_contents.events_contents { grid-template-columns: 400px auto; gap:80px; margin: 50px auto 0 auto;}

.side_contents {width: 250px; position: sticky; position: -webkit-sticky; top: 160px; }
.main_contents {width: 100%; height: 100%; min-height:600px;}
.page_hr {width: calc(100vw - 100px); padding: 0 0 100px 0; margin: 0 auto;border-bottom:1px solid #b8c3d1;}

.side_contents .side_inner {width:100%; height: auto; }
.main_contents .main_inner {width: 100%; max-width: 860px; margin: 0 auto; }



/* side contents */
.side_contents .side_inner h3 {font-size: 1.8rem; line-height: 1.8; font-weight: 500; display: flex;justify-content: flex-start;align-items: flex-start; flex-direction: column; margin-bottom: 40px;}
.side_contents .side_inner h3.events {font-size: 2rem; align-items: flex-end; flex-direction: row; }
.side_contents .side_inner h3 span {display: block; font-family: "Jost", sans-serif;font-size: 4.8rem; font-weight: 400; line-height: 0.9; }
.side_contents .side_inner h3.column{ margin-bottom: 30px;}
.side_contents .side_inner h3.column span {font-size: 2.4rem; }
.side_contents .side_inner h3.ja {font-size: 3.2rem; font-weight: 400; line-height: 1.2;}

.side_contents .side_inner ul {width: 100%; margin: 70px 0 30px 0;display: flex;justify-content: flex-start;align-items: flex-start; flex-direction: column; gap:18px;}
.side_contents .side_inner ul.column {width: 100%; margin: 0 0 60px 0;}
.side_contents .side_inner ul li{width: 100%;  -webkit-transition: all .3s;transition: all .3s; }
.side_contents .side_inner ul li a{display: block; text-align: left; width: 100%; font-size: 1.6rem; font-weight: 400; line-height: 1.2; color: #113866; text-indent: -0.6em; padding-left: 0.6em; -webkit-transition: all .3s;transition: all .3s; }


.events_contents .side_contents { width: 100%;}
.events_contents .side_contents .side_inner {display: flex;justify-content:center;align-items: center; flex-direction: column; gap:30px;}



/* Archive select */
.archive_select_wrap {position: relative;width: 100%;}
.archive_select_wrap select {width: 100%;font-size: 1.6rem; line-height: 1.6; font-weight: 400; -webkit-appearance: none;appearance: none;border-radius: 20px;height: 40px;border: 1px solid #b8c3d1; color: #113866;outline:none;padding: 0 15px;}
.archive_select_wrap select::-ms-expand {display: none;}
.archive_select_wrap select {background-image: url("../img/select_arrow.png");background-position: right 15px center;background-repeat: no-repeat;background-size: 10px auto;cursor: pointer;}


@media screen and (min-width: 768px) {
.side_contents .side_inner ul li:hover{transform: translateX(10px);}
.side_contents .side_inner ul li:hover a {color: #fe6b02;}
}


@media screen and (min-width: 1750px) {.side_contents {top: 90px;}}

@media screen and (max-width: 1000px) {
.page_contents {width: calc(100vw - 100px); margin: 60px auto 0 auto; }
.page_contents.events_contents {grid-template-columns: 35vw auto; gap:40px; margin: 20px auto 0 auto;}
}





@media screen and (max-width: 768px) {
body.page main > h2 {width: calc(100vw - 20px); height: 220px; font-size: 1.8rem; background-size: 150px auto;}
body.page main > h2 span {display: block; font-family: "Jost", sans-serif;font-size: 4rem; font-weight: 400; line-height: 1.2; }

.breadcrumb { width: calc(100vw - 20px); gap:5px;padding: 10px 0;}
.breadcrumb li{font-size: 1.1rem; gap:5px;}
.breadcrumb li i{font-size: 1.4em; }

.page_contents {width: calc(100vw - 20px);display: flex; align-items: flex-start;  flex-direction: column; margin: 50px auto 0 auto;}
.side_contents {width: 100%; position: inherit!important;top:inherit; margin-bottom: 30px }
.page_hr {width: calc(100vw - 20px); padding: 0 0 50px 0; margin: 0 auto;}

.side_contents .side_inner h3 {font-size: 1.6rem; line-height: 1.8; font-weight: 500; display: flex;justify-content: flex-start;align-items: flex-start; flex-direction: column; margin-bottom: 10px;}
.side_contents .side_inner h3 span {display: block; font-family: "Jost", sans-serif;font-size: 3.6rem; font-weight: 400; line-height: 0.9; }
.side_contents .side_inner h3.ja {font-size: 2.8rem; }

.side_contents .side_inner h3{margin: 0 0 40px 0; padding: 0;}
.side_contents .side_inner h3.column{margin: 0 0 10px 0; padding: 0;}
.side_contents .side_inner h3.column span {font-size: 1.8rem; }
.side_contents .side_inner ul{width: calc(100vw - 20px); overflow-x: auto; overflow-y: hidden; display: flex; flex-direction: row; gap:20px; padding: 0; margin: 0 0 30px 0!important;white-space: nowrap;}
.side_contents .side_inner ul li{width: auto;}
.side_contents .side_inner ul li a{width: auto; font-size: 1.4rem; height: 40px;display: flex;justify-content: center;align-items: center; flex-direction: column; }

.archive_select_wrap select {width: 100%;font-size: 1.4rem; line-height: 1.6; font-weight: 400; -webkit-appearance: none;appearance: none;border-radius: 20px;height: 40px;border: 1px solid #b8c3d1; color: #113866;padding: 0 15px;}
}









/*========================================
index
=======================================*/



/* --- バナー --- */
#banner {width: 100%;}
.banner_inner {width: 100%; max-width: 1200px; display: flex;justify-content: space-between;align-items: center; flex-wrap: nowrap; gap:20px; margin: 0 auto;}
.banner_inner a {width: 25%; position: relative;-webkit-transition: all .3s;transition: all .3s}
.banner_inner a::after {content:"\e90f";font-family: "icomoon"; font-size: 2rem; color:#113866 ; position: absolute; bottom: 5px; right: 10px; -webkit-transition: all .3s;transition: all .3s; }
.banner_inner a img{width: 100%; height: auto;}

@media screen and (min-width: 768px) {
.banner_inner a:hover::after {color:#ea5514 ; right: 5px; }
.banner_inner a:hover {transform:scale(1.05, 1.05); }
}

@media screen and (max-width: 768px) {
.banner_inner {display: flex;justify-content: center;align-items: center; flex-wrap: wrap; gap:10px; padding: 0 10px;}
.banner_inner a {width: 45%; max-width:285px;}
}


/* --- インフォメーション --- */

#information { width:100%; border-bottom:1px solid #b8c3d1; margin-bottom: 100px;}
#information .information_title {height: 155px; width: 100%;display: flex;justify-content: space-between;align-items: center;border-bottom:1px solid #b8c3d1; padding: 0 50px;}
#information h3 {width: auto;font-family: "Jost", sans-serif; font-size: 4.8rem; font-weight: 400; line-height: 1;}
#information h3 span {display: inline-block;font-size: 1.6rem; font-weight: 600; margin-left: 10px;}

#information .information_inner  {width:100%; max-width: 1300px; padding: 0 50px; margin: 0 auto;}
#information .information_inner > div {width:100%; max-width: 1200px;padding: 0;}
#information .information_inner > div dl {width:100%; height: auto;border-bottom: 1px solid #b8c3d1;padding: 25px 0; position: relative;display: flex;justify-content: flex-start;align-items: flex-start; flex-direction: column; gap:5px; padding-right: 40px;}
#information .information_inner > div dl:last-of-type  {border-bottom: none;}
#information .information_inner > div dl::after {content: "\e90f";font-size: 2rem; color: #113866;font-family: 'icomoon' !important; speak: never;font-style: normal;font-weight: normal;font-variant: normal;text-transform: none;line-height: 1; position: absolute; top:50%; right: 10px; -webkit-transition: all .3s;transition: all .3s}
#information .information_inner > div dl > a {position: absolute;top: 0;left: 0;width: 100%;height: 100%;text-indent:-999px;z-index: 1;}
#information .information_inner > div dl dt {width:auto; height: auto; font-family: "Jost", sans-serif;font-size: 1.3rem; font-weight: 500; line-height: 1.2; color: #113866;white-space: nowrap;display: flex;justify-content: flex-start;align-items: center; flex-direction: row;-webkit-transition: all .3s;transition: all .3s}
#information .information_inner > div dl dd {width:100%; height: auto; font-size: 1.6rem; font-weight: 500; line-height: 1.5; color: #113866;display: flex;justify-content: space-between;align-items: center; flex-direction: row;-webkit-transition: all .3s;transition: all .3s}


@media screen and (min-width: 768px) {
#information .information_inner > div dl:hover dt {color: #fe6b02;}
#information .information_inner > div dl:hover dd {color: #fe6b02;}
#information .information_inner > div dl:hover::after {transform: translateX(10px);color: #fe6b02;}
}


@media screen and (max-width: 768px) {
#information .information_title {height: auto; width: 100%;display: flex;justify-content: space-between;align-items: center;padding: 20px 10px;}
#information h3 {width: auto;font-family: "Jost", sans-serif; font-size: 2.8rem; font-weight: 400; line-height: 1;}
#information h3 span {display: block;font-size: 1.2rem; font-weight: 600; margin-left: 0; margin-top: 5px;}

#information .information_inner {width:100%; max-width: 1080px; display: flex;justify-content: space-between;align-items: stretch; flex-direction: column;gap:0; margin: 0 auto; padding: 0; }
#information .information_inner > div {width:100%; max-width: 100%;border-left: none; padding: 0;}
#information .information_inner> div dl {width:100%; height: auto;padding: 25px 15px; position: relative;display: flex;justify-content: flex-start;align-items: flex-start; flex-direction: column; gap:5px; padding-right: 40px;}

#information .information_inner > div dl dt {font-size: 1.2rem;}
#information .information_inner> div dl dd {width:100%; height: auto; font-size: 1.4rem; }
}





/* --- コラム --- */

#column { width:100%; border-bottom:1px solid #b8c3d1;}
#column .column_title {height: 155px; width: 100%;display: flex;justify-content: space-between;align-items: center;border-bottom:1px solid #b8c3d1; padding: 0 50px;}
#column h3 {width: auto;font-family: "Jost", sans-serif; font-size: 4.8rem; font-weight: 400; line-height: 1;}
#column h3 span {display: inline-block;font-size: 1.6rem; font-weight: 600; margin-left: 10px;}


#column .swiper_wrap {width: 100%;padding: 0 40px;}
#column .swiper{height: 100%;width:100%;padding: 0 10px; overflow: hidden; margin: 0 auto;}
@media screen and (min-width: 1600px) {
#column .swiper{height: 100%;width:1300px; padding: 0 10px; overflow: hidden;}
}
#column .swiper-wrapper{height: 100%;width: auto;  margin: 0 auto;}
#column .swiper-slide {height: 100%; }
#column .swiper-slide:first-of-type {border-left:1px solid #b8c3d1;}
@media screen and (min-width: 768px) {
#column .swiper-slide:hover {background: #ffe1cc;}
}
#column .swiper-slide > div{width: 100%;border-right:1px solid #b8c3d1;  padding: 20px 20px 30px 20px; display: flex;justify-content: flex-start; flex-direction: column; align-items: flex-start; position: relative;}
#column .swiper-slide > div img {height: 160px; width: 100%; object-fit: contain; margin-bottom: 20px;-webkit-transition: all .3s;transition: all .3s;}
#column .swiper-slide > div > dl {width: 100%; display: flex;justify-content: flex-start; flex-direction: column; gap:10px;}
#column .swiper-slide > div > dl dt{width: 100%; font-family: "Jost", sans-serif;font-size: 1.3rem; font-weight: 500; line-height: 1.2; color: #7088a3;display: flex; justify-content: flex-start;align-items: center; gap:5px;}
#column  .swiper-slide > div > dl dt span {width: auto; height: 20px; display: inline-flex; justify-content: center;align-items: center;font-size: 1.2rem; font-weight: 600; color: #ffffff; padding: 0 10px; background: #f29972; border-radius: 10px;}

#column .swiper-slide > div > dl dd{width: 100%; font-size: 1.6rem; font-weight: 500; line-height: 1.4; text-align:justify; color: #113866;}
#column .swiper-slide:hover > div img {transform:scale(1.05, 1.05);}

#column .swiper-button-prev{height: 50px;width: 50px; left: -5px;z-index: 20;-webkit-transition: all .3s;transition: all .3s;}
#column .swiper-button-next {height: 50px;width: 50px; right: -5px;z-index: 20;-webkit-transition: all .3s;transition: all .3s;}
#column .swiper-button-prev:hover {left: -10px;}
#column .swiper-button-next:hover {right: -10px;}



/* --- 主催 --- */

#events { width:100%; border-top:1px solid #b8c3d1;border-bottom:1px solid #b8c3d1;}
.events_parents {width: 100%; max-width: 100vw; height: auto;display: grid;grid-template-columns:auto 430px;grid-template-rows: 155px auto;}
.events_title {width: 100%;display: flex;justify-content: space-between;align-items: center;border-bottom:1px solid #b8c3d1; padding: 0 50px;}
.events_left {width: 100%; height: auto; min-height: 425px; }
.events_right {height: 100%; border-left:1px solid #b8c3d1;grid-row: span 2 / span 2; padding-right: 50px;}

.events_title h3 {width: auto;font-family: "Jost", sans-serif; font-size: 4.8rem; font-weight: 400; line-height: 1;}
.events_title h3 span {display: inline-block;font-size: 1.6rem; font-weight: 600; margin-left: 10px;}

.events_right .swiper{height: 100%;width: 100%; border-right:1px solid #b8c3d1;background: #e7ebf0;-webkit-transition: all .3s;transition: all .3s;}
@media screen and (min-width: 768px) {
.events_right .swiper:hover {background: #ffe1cc;}
}
.events_right .swiper-wrapper,.swiper-slide {height: 100%;width: 100%;}
.events_right .swiper-slide > div{height: 100%; width: 100%; padding: 40px 40px 30px 40px; display: flex;justify-content: space-between; flex-direction: column; align-items: flex-start; position: relative;}
.events_right .swiper-slide > div img {height: 424px; width: 100%; object-fit: contain; margin-bottom: 20px;-webkit-transition: all .3s;transition: all .3s;}
.events_right .swiper-slide > div > dl {width: 100%; margin-top:auto;display: flex;justify-content: flex-start; flex-direction: column; gap:5px;}
.events_right .swiper-slide > div > dl dt{width: 100%; font-size: 1.4rem; font-weight: 500; line-height: 1.2; color: #7088a3;}
.events_right .swiper-slide > div > dl dd{width: 100%; font-size: 1.6rem; font-weight: 500; line-height: 1.4; color: #113866;}

@media screen and (min-width: 768px) {
.events_right .swiper-wrapper:hover .swiper-slide > div img {transform:scale(1.05, 1.05);}
}


/* --- 一般 --- */

.events_left .swiper{height: 100%;width:calc(100vw - 512px); padding: 0 10px;; overflow: hidden;align-items: center;}
@media screen and (min-width: 1850px) {
.events_left .swiper{height: 100%;width:1400px; padding: 0 10px; overflow: hidden;}
}
.events_left .swiper-wrapper{height: 100%;width: auto; border-right:1px solid #b8c3d1; }
.events_left .swiper-slide {height: 100%;}
.events_left .swiper-slide:first-of-type {border-left:1px solid #b8c3d1;}
.events_left .swiper-slide:hover {background: #ffe1cc; -webkit-transition: all .3s;transition: all .3s;}
.events_left .swiper-slide > div{height: 100%; width: 100%;border-right:1px solid #b8c3d1;  padding: 40px 25px 30px 25px; display: flex;justify-content: flex-start; flex-direction: column; align-items: flex-start; position: relative;}
.events_left .swiper-slide > div img {height: 254px; width: 100%; object-fit: contain; margin-bottom: 20px;-webkit-transition: all .3s;transition: all .3s;}
.events_left .swiper-slide > div > dl {width: 100%; display: flex;justify-content: flex-start; flex-direction: column; gap:5px;}
.events_left .swiper-slide > div > dl dt{width: 100%; font-size: 1.4rem; font-weight: 500; line-height: 1.2; color: #7088a3;}
.events_left .swiper-slide > div > dl dd{width: 100%; font-size: 1.6rem; font-weight: 500; line-height: 1.4; color: #113866;text-align:justify;}

@media screen and (min-width: 768px) {
.events_left .swiper-slide:hover > div img {transform:scale(1.05, 1.05);}
}
.events_right .swiper-button-prev{height: 50px;width: 50px; left: -5px;z-index: 20;-webkit-transition: all .3s;transition: all .3s;}
.events_right .swiper-button-next {height: 50px;width: 50px; right: -5px;z-index: 20;-webkit-transition: all .3s;transition: all .3s;}
.events_right .swiper-button-prev:hover {left: -10px;}
.events_right .swiper-button-next:hover {right: -10px;}

.events_left .swiper-button-prev{height: 50px;width: 50px; left: -5px;z-index: 20;-webkit-transition: all .3s;transition: all .3s;}
.events_left .swiper-button-next {height: 50px;width: 50px; right: -5px;z-index: 20;-webkit-transition: all .3s;transition: all .3s;}
.events_left .swiper-button-prev:hover {left: -10px;}
.events_left .swiper-button-next:hover {right: -10px;}

.swiper-button-prev::after {content: "\e912";font-family: 'icomoon' !important;line-height: 1;color: #ea5514;}
.swiper-button-next::after {content: "\e913";font-family: 'icomoon' !important;line-height: 1;color: #ea5514;}

.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled {opacity: 0;cursor: auto;pointer-events: none}
.swiper-slide:not(.swiper-slide-visible) .slide {pointer-events: none;opacity: 0.3;}


/* --- swiper arrow --- */
.events_right .swiper-slide > div::after,.events_left .swiper-slide > div::after, #column .swiper-slide > div::after {content:"\e90f";font-family: "icomoon"; font-size: 2rem; position: absolute; bottom: 5px; right: 10px; -webkit-transition: all .3s;transition: all .3s;}
@media screen and (min-width: 768px) {
.events_right .swiper-slide > div:hover::after,.events_left .swiper-slide > div:hover::after, #column .swiper-slide > div:hover::after {bottom: 5px; right: 5px; }
}



@media screen and (max-width: 1000px) {
.events_title {justify-content: center;flex-direction: column;align-items: flex-start; gap:10px;}
.events_title h3 {width: auto;font-family: "Jost", sans-serif; font-size: 4rem; font-weight: 400; line-height: 1;}
.events_title h3 span {display: inline-block;font-size: 1.4rem; font-weight: 600; margin-left: 10px;}
}

@media screen and (max-width: 768px) {
#column { width:100%; border-bottom:1px solid #b8c3d1;}
#column .column_title {height: auto; width: 100%;display: flex;justify-content: space-between;align-items: center;padding: 20px 10px;}

#column h3 {width: auto;font-family: "Jost", sans-serif; font-size: 2.8rem; font-weight: 400; line-height: 1;}
#column h3  span {display: block;font-size: 1.2rem; font-weight: 600; margin-left: 0; margin-top: 5px;}

#column .swiper_wrap {width: 100%;padding: 0;}
#column .swiper{height: 100%;width:100%;padding: 0 10px; overflow: hidden; margin: 0 auto;}
#column .swiper-slide > div{width: 100%;border-right:1px solid #b8c3d1;  padding: 20px 10px 20px 10px; display: flex;justify-content: flex-start; flex-direction: column; align-items: flex-start; position: relative;}
#column .swiper-slide > div img {height: 130px; width: 100%; object-fit: contain; margin-bottom: 20px;-webkit-transition: all .3s;transition: all .3s;}
#column .swiper-slide > div > dl {width: 100%; display: flex;justify-content: flex-start; flex-direction: column; gap:10px;}
#column .swiper-slide > div > dl dt{width: 100%; font-family: "Jost", sans-serif;font-size: 1.2rem; font-weight: 500; line-height: 1.2; color: #7088a3;display: flex;  flex-direction: column;justify-content: flex-start;align-items: flex-start; gap:5px;}
#column  .swiper-slide > div > dl dt span {width: auto; height: 20px; display: inline-flex; justify-content: center;align-items: center;font-size: 1rem; font-weight: 600; color: #ffffff; padding: 0 8px; background: #f29972; border-radius: 10px;}

#column .swiper-slide > div > dl dd{width: 100%; font-size: 1.4rem; font-weight: 500; line-height: 1.4; text-align:justify; color: #113866;}

#column .swiper-button-prev{height: 50px;width: 50px; left: -5px;z-index: 20;-webkit-transition: all .3s;transition: all .3s;}
#column .swiper-button-next {height: 50px;width: 50px; right: -5px;z-index: 20;-webkit-transition: all .3s;transition: all .3s;}
#column .swiper-button-prev:hover {left: -10px;}
#column .swiper-button-next:hover {right: -10px;}




.events_parents {width: 100%; max-width: 100vw; height: auto;display: flex; flex-direction: column;}
.events_title {justify-content: space-between;flex-direction: row;align-items: center; gap:10px; padding: 20px 10px;}
.events_title h3 {width: auto;font-family: "Jost", sans-serif; font-size: 2.8rem; font-weight: 400; line-height: 1;}
.events_title h3 span {display: block;font-size: 1.2rem; font-weight: 600; margin-left: 0; margin-top: 5px;}
.events_left {width: 100%; height: auto; min-height: auto;  order: 3;}
.events_right {width: 100%; min-height: 400px; border-left:none;border-right:none;padding:0;border-bottom:1px solid #b8c3d1;order: 2;}
.events_right .swiper{height: 100%;width: 100%; border-right:none;background: #e7ebf0;-webkit-transition: all .3s;transition: all .3s;}
.events_right .swiper-wrapper,.swiper-slide {height: 100%;width: 100%;}
.events_right .swiper-slide > div{height: 100%;width: 100%;  padding: 20px 20px 20px 20px; display: flex;justify-content: space-between; flex-direction: column; align-items: flex-start;}
.events_right .swiper-slide > div img {height: 325px; width: 100%; object-fit: contain; margin-bottom: 20px;-webkit-transition: all .3s;transition: all .3s;}
.events_right .swiper-slide > div > dl {width: 100%; margin-top:auto;display: flex;justify-content: flex-start; flex-direction: column; gap:5px;}
.events_right .swiper-slide > div > dl dt{width: 100%; font-size: 1.2rem; font-weight: 500; line-height: 1.2; color: #113866;}
.events_right .swiper-slide > div > dl dd{width: 100%; font-size: 1.4rem; font-weight: 500; line-height: 1.4; color: #113866;text-align:justify;}

.events_left .swiper{height: 100%;width:100%; padding: 0 10px; overflow: hidden;align-items: center;}
.events_left .swiper-wrapper{height: 100%;width: auto; border-right:1px solid #b8c3d1; }
.events_left .swiper-slide {height: 100%;}
.events_left .swiper-slide:first-of-type {border-left:1px solid #b8c3d1;}
.events_left .swiper-slide > div{width: 100%; height: 100%; border-right:1px solid #b8c3d1;  padding: 20px 10px 20px 10px; display: flex;justify-content: flex-start; flex-direction: column; align-items: flex-start;}
.events_left .swiper-slide > div img {height: 250px; width: 100%; object-fit: contain; margin-bottom: 20px;-webkit-transition: all .3s;transition: all .3s;}
.events_left .swiper-slide > div > dl {width: 100%; display: flex;justify-content: flex-start; flex-direction: column; gap:5px;}
.events_left .swiper-slide > div > dl dt{width: 100%; font-size: 1.2rem; font-weight: 500; line-height: 1.2; color: #113866;}
.events_left .swiper-slide > div > dl dd{width: 100%; font-size: 1.4rem; font-weight: 500; line-height: 1.4; color: #113866;}
.events_left .swiper-slide:hover > div img {transform:scale(1.05, 1.05);}
}



/* 緊急 */
.emergency_wrap {width: 320px; height: auto; background: #ffffff; position: absolute; bottom:0; right: 0;z-index: 5;display: flex;justify-content: flex-start; flex-direction: column;align-items: center;-webkit-transition: all .3s;transition: all .3s}
.emergency_wrap a {width: 100%; height: auto; background: #ffffff; color: #ea5514; -webkit-transition: all .3s;transition: all .3s}
.emergency_wrap a dl {width: 100%; height: 100%; display: flex;justify-content: flex-start; flex-direction: column;align-items: center; gap:5px; padding: 30px 40px 30px 30px;}
.emergency_wrap a dl::after {content: "\e90f";font-size: 2.4rem; font-family: 'icomoon' !important; speak: never;font-style: normal;font-weight: normal;font-variant: normal;text-transform: none;line-height: 1; position: absolute; top:40%; right: 10px;-webkit-transition: all .3s;transition: all .3s}
.emergency_wrap a dl dt {width: 100%; font-family: "Jost", sans-serif; font-size: 1.3rem; font-weight: 500; line-height: 1.2;}
.emergency_wrap a dl dd {width: 100%; font-size: 1.6rem; font-weight: 500; line-height: 1.4;}

@media screen and (min-width: 768px) {
.emergency_wrap a:hover {background: #ea5514; color: #ffffff;}
.emergency_wrap a:hover dl::after {right: 5px;}
}

@media screen and (max-width: 768px) {
.emergency_wrap {width: 50vw;}
.emergency_wrap a {width: 100%; height: auto; background: #ffffff; color: #ea5514; -webkit-transition: all .3s;transition: all .3s}
.emergency_wrap ap dl {width: 100%; height: 100%; display: flex;justify-content: flex-start; flex-direction: column;align-items: center; gap:5px; padding: 15px 30px 15px 15px;}
.emergency_wrap a dl::after {content: "\e90f";font-size: 2rem; font-family: 'icomoon' !important; speak: never;font-style: normal;font-weight: normal;font-variant: normal;text-transform: none;line-height: 1; position: absolute; top:40%; right: 0;-webkit-transition: all .3s;transition: all .3s}
.emergency_wrap a dl dt {width: 100%; font-size: 1rem; font-weight: 500; line-height: 1.2;}
.emergency_wrap a dl dd {width: 100%; font-size: 1.4rem; font-weight: 500; line-height: 1.4;}
}




#concept {width: calc(100vw - 100px); font-size: 1.8rem; font-weight: 400; line-height: 2.2; color: #ffffff;text-align: center;display: flex;justify-content: center;align-items: center;background-image: url("../img/concept_bg.jpg"); background-size: cover; background-position: center center;padding: 60px 30px; margin: 0 auto 50px auto;}
.mvarrow {width: 8px;position: absolute; bottom: 20px; left: 20px; -webkit-animation: sdb 2s infinite;animation: sdb 2s infinite; z-index: 5;}
.mv_txt {width: auto; height: auto;display: flex;justify-content: center;align-items: center;gap:2vh; position: absolute; top: 50%;left: 50%;transform: translate(-50%, -50%); z-index: 5;}
.mv_txt img {height: 50vh; max-height: 400px; width: auto;}


@-webkit-keyframes sdb {
  0% {-webkit-transform: translate(0, 0);}
  20% {-webkit-transform: translate(0, 15px);}
  40% {-webkit-transform: translate(0, 0);}
}
@keyframes sdb {
  0% {transform: translate(0, 0);}
  20% {transform: translate(0, 15px);}
  40% {transform: translate(0, 0);}
}

/* MV */
#mv.main-top {position: relative;height: calc(100vh - 140px);width: calc(100vw - 100px);margin: 0 auto 50px auto;}
#mv.main-top .swiper{height: 100%;width: 100%;overflow: hidden;}
#mv.main-top .swiper-wrapper,.swiper-slide > div{height: 100%;width: 100%;}
#mv.main-top .swiper-slide > div{ background: center center / cover no-repeat;}



@media screen and (max-width: 1000px) {
.mv_txt {width: auto; height: auto;display: flex;justify-content: center;align-items: center;gap:2vh; position: absolute; top: 50%;left: 50%;transform: translate(-50%, -50%); z-index: 5;}
.mv_txt img {height: 50vh; max-height: 400px; width: auto;}

#mv.main-top {position: relative;height: calc(100vh - 110px);width: calc(100vw - 100px);}
}


@media screen and (max-width: 768px) {
.mvarrow {width: 6px;bottom: 10px; left: 10px;}
.mv_txt img {height: 50vh; max-height: 250px; width: auto;}
#mv.main-top {position: relative;height: calc(100vh - 70px);width: calc(100vw - 20px);margin: 0 auto 10px auto;}
#concept {width: calc(100vw - 20px); font-size: 1.6rem; font-weight: 400; line-height: 2; padding: 60px 20px; }

}


@keyframes zoomUp { /* ズームアップで1.15倍させる指定 */
0% {transform: scale(1);}
100% {transform: scale(1.15);}
}
#mv.main-top .swiper-slide-active>div, #mv.main-top .swiper-slide-duplicate-active>div, #mv.main-top .swiper-slide-prev>div{animation: zoomUp 10s linear 0s 1 normal both;}




/*========================================
footer
=======================================*/


/* スライドテキスト */
.fotter_txt_an_wrap {display: flex;justify-content: flex-start;align-items: center;overflow: hidden; margin: 100px 0 30px 0;}
.fotter_txt_an {display: flex;animation: loop-text 30s linear infinite; gap:4vw;}
.fotter_txt {display: inline-block; }
.fotter_txt img {width: 70vw;}
@keyframes loop-text {
  0% {transform: translateX(0%);}
  100% {transform: translateX(-50%);}
}

@media screen and (max-width: 1000px) {
.fotter_txt_an_wrap {display: flex;justify-content: flex-start;align-items: center;overflow: hidden; margin: 50px 0 10px 0;}
.fotter_txt_an {display: flex;animation: loop-text 30s linear infinite; gap:10vw;}
.fotter_txt {display: inline-block; }
.fotter_txt img {width: 160vw;}
}


footer {width: 100%;background-color: #587494; background-image: url("../img/f_bg.svg"); background-size: 630px auto; background-position: top 30px right -100px; background-repeat: no-repeat;}
.fotter_inner { width:100%; max-width: 1200px; margin: 0 auto;}

.fotter_inner section:first-of-type {width: 100%; display: flex;justify-content: space-between; flex-direction: row; align-items: stretch; border-bottom: 1px solid #aebbcb;padding: 45px 0 50px 0;}
.footer_addres {width: auto; font-size: 1.6rem; font-weight: 400; line-height: 1.8; color: #ffffff;display: flex;justify-content: flex-end;flex-direction: column; align-items: flex-start;}
.footer_addres span{font-size: 1.6rem; font-weight: 600; }
.footer_addres a.map {display: inline-block; width:auto; height: 24px; font-size: 1.2rem; font-weight: 600; line-height: 1; background: #ffffff; color: #113866; padding: 5px 10px 0 10px; border-radius: 12px;-webkit-transition: all .3s;transition: all .3s;}
.footer_addres a[href^="tel:"]{color: #ffffff;}
.footer_addres a.map i {font-size: 1.2em; margin: 0 0 0 5px; vertical-align: middle;}
@media screen and (min-width: 768px) {
.footer_addres a:hover {background: #fe6b02; color: #ffffff;}
.footer_addres a:hover[href^="tel:"]{color: #ffffff;}
}

.fotter_inner section:first-of-type > a {width: 110px;position: absolute;left: 50%;transform: translate(-50%, 0);}
.fotter_inner section:first-of-type > a img {width: 110px;}

.footer_sns {display: flex;justify-content: flex-end; flex-direction: row; align-items: center; gap:35px;}
.footer_sns a {display: flex;justify-content: center; flex-direction: column; align-items: center; color: #ffffff;}
.footer_sns a p{font-size: 1.4rem; font-weight: 600; margin-bottom: 15px;}
.footer_sns a div {display: flex;justify-content: center; flex-direction: row; align-items: center; gap:20px;}
.footer_sns a div i {font-size: 3rem;}
.footer_sns a div img {width: 60px;}

.fotter_inner section:last-of-type {width: 100%; display: flex;justify-content: space-between; flex-direction: row; align-items: flex-start; padding: 45px 0 0 0; gap:80px;}
.fotter_navi {width: 100%; display: flex;justify-content: space-between; flex-direction: row; align-items: flex-start;}
.fotter_navi ul{width: auto;}
.fotter_navi ul li{width: auto; font-size: 1.4rem; font-weight: 400; line-height: 2;}
.fotter_navi ul li a{color: #ffffff;}
@media screen and (min-width: 768px) {
.fotter_navi ul li a:hover{color: #fe6b02;}
}
.fotter_navi ul li.parent {font-size: 1.6rem; font-weight: 400; margin-bottom: 10px;}
.fotter_navi ul li.cafe {line-height: 1.2;text-indent: -0.5em;padding-left: 0.5em;}

ul.sp_navi {display: none;}

.fotter_banner {display: flex;justify-content: center; flex-direction: column; align-items: center; gap:10px;}
.fotter_banner a {width:265px; height: 60px; display: flex;justify-content: center; flex-direction: column; align-items: center; background: #ffffff; border-radius: 30px;-webkit-transition: all .3s;transition: all .3s;}
@media screen and (min-width: 768px) {
.fotter_banner a:hover {background: #e7ebf0;}
}
.fotter_banner a:first-of-type img { width: 124px;}
.fotter_banner a:last-of-type img { width: 204px;}

.fotter_inner .copy {width: 100%; font-family: "Jost", sans-serif; font-size: 1.2rem; font-weight: 500; line-height: 1; color: #ffffff; text-align: center; padding-bottom: 50px;}



@media screen and (max-width: 1300px) {
.fotter_inner { width:calc(100% - 8vw); }
}

@media screen and (max-width: 1000px) {
footer {width: 100%;background-color: #587494; background-image: url("../img/f_bg.svg"); background-size: 450px auto; background-position: top 30px right -100px; background-repeat: no-repeat;}
.fotter_inner { width:calc(100% - 8vw); }
.fotter_inner section:first-of-type {width: 100%; display: flex;justify-content: center; flex-direction: column; align-items: center; border-bottom: 1px solid #aebbcb;padding: 40px 0;}
.fotter_inner section:first-of-type > a {width: 110px;position: relative;left: auto;transform: translate(0, 0);}

.footer_addres {width: auto; font-size: 1.4rem; font-weight: 400; line-height: 1.8; color: #ffffff;display: flex;justify-content: center;flex-direction: column; align-items: center; text-align: center; order: 2; margin-bottom: 40px;}
.footer_addres span{font-size: 1.6rem; font-weight: 600; }
.footer_addres a.map {width:100%;; height: 30px; font-size: 1.2rem; font-weight: 600; line-height: 1; display: flex;justify-content: center; flex-direction: row; align-items: center; padding: 0; border-radius: 15px; margin-top: 20px;}
.footer_addres a i {font-size: 1.4em; margin: 0 0 0 5px; vertical-align: middle;}

.fotter_inner section:first-of-type > a {width: 80px; order: 1; margin-bottom: 40px;}
.fotter_inner section:first-of-type > a img {width: 80px;}

.footer_sns {display: flex;justify-content: flex-end; flex-direction: row; align-items: center; gap:35px; order: 3;}
.footer_sns a {display: flex;justify-content: center; flex-direction: column; align-items: center; color: #ffffff;}
.footer_sns a p{font-size: 1.4rem; font-weight: 600; margin-bottom: 15px;}
.footer_sns a div {display: flex;justify-content: center; flex-direction: row; align-items: center; gap:20px;}
.footer_sns a div i {font-size: 3rem;}
.footer_sns a div img {width: 60px; display: none;}

.fotter_inner section:last-of-type {width: 100%; display: flex;justify-content: center; flex-direction: column; align-items: center; padding: 45px 0 0 0; gap:30px;}
.fotter_navi {display: none;}
.fotter_navi ul{width: auto;}
.fotter_navi ul li{width: auto; font-size: 1.4rem; font-weight: 400; line-height: 2;}
.fotter_navi ul li a{color: #ffffff;}

ul.sp_navi {width: 100%; font-size: 1.4rem; font-weight: 400; line-height: 1;display: flex;justify-content: center; flex-direction: row; align-items: center; gap:20px;}
ul.sp_navi li{width: auto;}
ul.sp_navi li a{color: #ffffff;}

.fotter_banner {width: 100%; display: flex;justify-content: center; flex-direction: row; align-items: center; gap:10px; margin-bottom: 30px;}
.fotter_banner a {width: 100%; height: 50px; display: flex;justify-content: center; flex-direction: column; align-items: center; background: #ffffff; border-radius: 25px;-webkit-transition: all .3s;transition: all .3s;}

.fotter_banner a:first-of-type img { width: 100px;}
.fotter_banner a:last-of-type img { width: 170px;}
}

@media screen and (max-width: 480px) {
.fotter_banner {width: 100%; display: flex;justify-content: center; flex-direction: column; align-items: center; gap:10px; margin-bottom: 30px;}
.fotter_inner .copy {padding-bottom: 30px;}
}




/*========================================
header
=======================================*/


header {}
#navi {width: 100%;height: 90px;position: fixed;top: 0;left: 0;z-index: 100; background-color: #ffffff; -webkit-transition: all .3s;transition: all .3s;}
body.page #navi {z-index: 100; }
/* チェックボックスを非表示 */
#navi input {display: none;}

#navi h1 {width: 180px; height: 180px; display: flex; justify-content: center;align-items: center;background-color: #ffffff;position: absolute; top:0; left: 0;z-index: 200;-webkit-transition: all .3s;transition: all .3s;}
#navi h1 img {width: 100%; max-width: 100px;vertical-align: middle;-webkit-transition: all .3s;transition: all .3s;}
body.index #navi h1 {width: 250px; height: 250px; }
body.index #navi h1 img {width: 100%; height: auto;  max-width: 140px;vertical-align: middle;-webkit-transition: all .3s;transition: all .3s;}

#navi h1.logo.is-active {width: 150px; height: 150px;}
#navi h1.logo.is-active img {width: 100%; max-width: 80px;}

body.index #navi h1.logo.is-active {width: 150px; height: 150px;}
body.index #navi h1.logo.is-active img {width: 100%; max-width: 80px;}

.menu { display: flex; justify-content: flex-end;align-items: stretch; gap:10px;-webkit-transition: all .3s;transition: all .3s;}
.menu > div{ height: 90px; display: flex; justify-content: center;align-items: flex-end; flex-direction: column; gap:15px;padding: 0 50px 0 0;}
.menu > div > div {display: flex; justify-content: flex-end;align-items: center; flex-direction: row; gap:10px; }
.menu > div > div a{height: 24px; font-size: 1.2rem; font-weight: 500; line-height: 1; color: #ffffff;display: flex; justify-content: center;align-items: center; background: #113866; border-radius: 12px; padding: 0 10px;-webkit-transition: all .3s;transition: all .3s;}
.menu > div > div a:last-of-type{background: none; color: #113866; padding: 0;}
.menu > div> div a i{font-size: 1.5em; margin-right: 3px;}

@media screen and (min-width: 768px) {
.menu > div > div a:hover{color: #ffffff; background: #fe6b02;}
.menu > div > div a:last-of-type:hover{color: #fe6b02; background: none;}
}

.menu ul{display: flex;justify-content: center;align-items: flex-end; gap:30px;}
.menu-parent {font-size: 1.6rem;font-weight: 400;line-height: 1;white-space: nowrap;}


/* パソコンでは V を非表示 */
.menu-parent .pd {display: none;}
/* 上部メニューの最後の項目 */
.menu-parent:last-child {
  margin-right: 0px;
}

#menu-navibtn {display: none;cursor: pointer;cursor: hand;}



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

#navi {position: fixed;top: 0;left: 0;height: auto; min-height: 60px;; width: 100%;padding: 0;}
/* チェックボックスを非表示 */
#navi input {display: none;}


/* 左上ロゴ */
#navi h1 {width: 130px; height: 130px; }
#navi h1 img {width: 100%; max-width: 70px;}

body.index #navi h1 {width: 150px; height: 150px; }
body.index #navi h1 img {width: 100%; max-width: 80px;}

#navi h1.logo.is-active {width: 100px; height: 100px; }
#navi h1.logo.is-active img {width: 100%; max-width: 60px;}

body.index #navi h1.logo.is-active {width: 100px; height: 100px; }
body.index #navi h1.logo.is-active img {width: 100%; max-width: 60px;}


  /* スマホの際に V を表示 */
.menu-parent .pd {display: inline-block;width: 100%;}

.menu-parent .pd::after {content: "+";display: inline-block;color: #113866;font-size: 1.6rem;width: 100%;}
.menu {display: flex;justify-content: center;align-items: flex-start;width: 100%;height: 0; opacity: 0;padding: 0;visibility: hidden;}

  
.menu-parent {width: 100%;padding: 20px 20px;text-align: left;height:auto;border-bottom: 1px solid #909bae;}
.menu-parent:first-of-type {border-top: 1px solid #909bae;}
  
.menu-parent > a {padding: 20px 0; color: #113866;}


  /* メニューを移動させないため */
  #menu-navibtn:checked ~ #navi {position: fixed;overflow-y: scroll;overflow-x: hidden;height: 100%;}
}



/* ドロップダウンメニュー */
.menu-parent {}
.menu-parent .menu-child {display: flex; justify-content: flex-start;align-items: flex-start; flex-direction: column;visibility: hidden;opacity: 0;position: absolute;}
.menu-parent .menu-child li a {width: 100%; height: 100%;}



/* PC */
@media screen and (min-width : 1000px ){
.menu-parent:hover .menu-child {visibility: visible;opacity: 1;padding: 30px;position: absolute;display: flex; justify-content: center;align-items: flex-start; flex-direction: row; flex-wrap: wrap; gap:20px;background: #ffffff;right: -5px;width:675px;}

.menu-parent .menu-child li {overflow: hidden;height: 0;text-align: left!important;-webkit-transition: all .3s;transition: all .3s;line-height: 1;width: 45%;font-size: 1.4rem;}
  
.menu-parent .menu-child li a {width: 100%; height: 100%;display: flex; justify-content: space-between;align-items: center; position: relative; border: 1px solid #b8c3d1; color: #113866; padding: 0 15px; border-radius: 20px;-webkit-transition: all .3s;transition: all .3s;}
.menu-parent .menu-child li a::after {content:"\e90f";font-family: "icomoon"; font-size: 1.6rem; position: absolute; right:15px;-webkit-transition: all .3s;transition: all .3s;}

.menu-parent .menu-child li.sub_menu {font-size: 1.2rem;padding:  0 15px 0 35px;}
.menu-parent:hover .menu-child li {overflow: visible;height: 40px;}
.menu-parent .menu-child li:hover a{color: #ffffff;background: #fe6b02;border: 1px solid #fe6b02; }
.menu-parent .menu-child li:hover a::after {right:10px;}
.menu-parent > a {position: relative;display: block;text-decoration: none;padding: 0;overflow: hidden;color: transparent;text-shadow: 0 -1.5em 0 #113866, 0 0 0 #113866;transition: text-shadow 0.4s cubic-bezier(0.76, 0, 0.24, 1);}
.menu-parent > a:hover {text-shadow: 0 0 0 #113866, 0 1.5em 0 #113866;}
.menu article { display: none;}
}



/* スマホ用 */
@media screen and (max-width: 1000px) {

.menu {flex-direction: column; width: 100%; padding: 0 10px;-webkit-transition: all .0s;transition: all .0s;}
.menu ul{flex-direction: column; width: 100%; gap:0;}
.menu > div > div {width: 100%; display: flex; justify-content: center;align-items: center; flex-direction: row; gap:10px; }
.menu > div > div a{width: 38%; height: 30px; font-size: 1.2rem; font-weight: 500; line-height: 1.5; color: #ffffff;display: flex; justify-content: center;align-items: center; background: #113866; border-radius: 15px; }
.menu > div > div a:last-of-type{width: auto;background: none; color: #113866; padding: 0;}
.menu > div> div a i{font-size: 1.5em; margin-right: 3px;}
.menu > div { order: 1;flex-direction: column; width: 100%; justify-content: flex-start;margin-bottom: 20px; padding: 0;}
.menu > div a { width: 100%; height: 60px;}

.menu article {width: 100%; display: flex;justify-content: center;align-items: center; flex-direction: row; gap:30px; margin-top: 20px; padding-bottom: 30px;}
.menu article a {width: auto; height: auto;font-size: 3rem; color: #113866;}
  
  /* ハンバーガーメニューがクリックされた時 */
  #menu-navibtn:checked ~ * .menu {opacity: 1;height: auto;visibility: visible;flex-direction: column; padding: 150px 10px 0 10px; -webkit-transition: all .3s;transition: all .3s;}
  #menu-navibtn:checked ~ * .menu-parent {max-height: inherit;overflow-y: visible;}
  #menu-navibtn:checked ~ * .menu-child {max-height: 0;overflow-y: hidden;visibility: hidden;}

  
  /* 子メニュー */
  .menu-parent .menu-child {flex-direction: column;position: relative;padding: 0 ;opacity: 1;top: 0; margin-left: auto;left: auto;width: auto;}

  .menu-parent .menu-child li {width: 100%;height: 0;border-top: 1px dotted #909bae;-webkit-transition: all .3s;transition: all .3s;}
  .menu-parent > label:hover {cursor: pointer;cursor: hand;}
  
  #navi input[type="checkbox"]:checked ~ label .pd::after {content: "-";}
  
  /* 子メニューがクリックされた時 */
  #navi input[type="checkbox"]:checked ~ .menu-child {max-height: inherit;overflow-y: visible;visibility: visible;margin-top: 20px;}
    /* 子メニューがクリックされた時 */
  #navi input[type="checkbox"]:checked ~ .menu-child li { height: 40px;-webkit-transition: all .3s;transition: all .3s;}
  #navi input[type="checkbox"]:checked ~ .menu-child li a {width: 100%; height: 100%;display: flex; align-items: center; color: #113866;}
}

/* 子メニュー */
.menu-child li {font-size: 1.4rem;min-width: 180px;}
.menu-child li.sub_menu {font-size: 1.2rem; padding-left: 20px;}
/* ハンバーガー */
#navi #navibtn {display: none;}



@media screen and (max-width: 1000px) {
  #navi #navibtn {display: block;position: absolute;top: 10px;right: 10px; cursor: pointer;}
  #navibtn span {display: block;width: 40px;height: 40px;background-color: #113866;-webkit-transition: .35s ease-in-out;-moz-transition: .35s ease-in-out;transition: .35s ease-in-out;}
  #navibtn span span {display: block;overflow: hidden;width: 1px;height: 1px;}
  #navibtn span span::before,
  #navibtn span span::after,
  #navibtn span::after {position: absolute;left:10px;content:"";width: 20px;height: 1px;background-color: #FFF;-webkit-transition: .3s ease-in-out;-moz-transition: .3s ease-in-out;transition: .3s ease-in-out;}
  /* 上の棒 */
  #navibtn span span::before {top:12px;}
  #menu-navibtn:checked ~ #navi label#navibtn span span::before {top:19px;-webkit-transform: rotate(315deg);-moz-transform: rotate(315deg);transform: rotate(315deg);}
  /* 下の棒 */
  #navibtn span::after {top:26px;}
  #menu-navibtn:checked ~ #navi label#navibtn > span::after {top:19px;-webkit-transform: rotate(-315deg);-moz-transform: rotate(-315deg);transform: rotate(-315deg);}
  /* 中の棒 */
  #navibtn span span::after {top:19px;}
  #menu-navibtn:checked ~ #navi label#navibtn span span::after {display: none;}
}



/*========================================
WP用見出し
=======================================*/

.wp_body h1 {font-size: 3.8rem; line-height: 1.4em; font-weight: 600; }
.wp_body h2 {font-size: 3.2rem; line-height: 1.4em; font-weight: 600; }
.wp_body h3 {font-size: 2.8rem; line-height: 1.4em; font-weight: 600; }
.wp_body h4 {font-size: 2.4rem; line-height: 1.4em; font-weight: 500; }
.wp_body h5 {font-size: 2rem; line-height: 1.4em; font-weight: 500; }
.wp_body h6 {font-size: 1.8rem; line-height: 1.4em; font-weight: 500; }

@media screen and (max-width: 768px) {
.wp_body h1 {font-size: 3rem; line-height: 1.4em; font-weight: 600; }
.wp_body h2 {font-size: 2.6rem; line-height: 1.4em; font-weight: 600; }
.wp_body h3 {font-size: 2.2rem; line-height: 1.4em; font-weight: 600; }
.wp_body h4 {font-size: 2rem; line-height: 1.4em; font-weight: 500; }
.wp_body h5 {font-size: 1.8rem; line-height: 1.4em; font-weight: 500; }
.wp_body h6 {font-size: 1.6rem; line-height: 1.4em; font-weight: 500; }
}


/*========================================
loader
=======================================*/
#loader-bg {display: none;position: fixed;justify-content:center;align-items: center;width: 100vw;height: 100vh;background: #ffffff;opacity:1;z-index: 300; background-image: url("../img/load_logo.svg"); background-position: center center; background-size: 10vw auto; background-repeat: no-repeat;}

@media screen and (max-width: 768px) {
}


/*========================================
effect
=======================================*/

.bg_an_30 {animation: fuwafuwa 30s ease-in-out infinite alternate;}
.bg_an_40 {animation: fuwafuwa 60s ease-in-out infinite alternate;}
.bg_an_50 {animation: fuwafuwa 90s ease-in-out infinite alternate;}


@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0); opacity:1;
  }
  20% {
    transform:translate(100px, -40px) ;opacity:0.6;
  }
  40% {
    transform:translate(0, 0) ;opacity:1;
  }
  60% {
    transform:translate(-100px, 40px) ;opacity:0.8;
  }
  80% {
    transform:translate(-50px, 10px) ;opacity:1;
  }
  100% {
    transform:translate(0, 0) ;opacity:1;
  }
}






/*========================================
Animation
=======================================*/



.mv_faderight {
animation-name:mvfaderightAnime;
animation-duration:2s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes mvfaderightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


.mvfadeup {
animation-name:mvfadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes mvfadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(50px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

.mvfadedown {
animation-name:mvfadedownAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes mvfadedownAnime{
  from {
    opacity: 0;
  transform: translateY(-50px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}




.fadeleftTrigger,.faderightTrigger,.fadedownTrigger,.fadedownTrigger02,.fadeupTrigger{opacity: 0;}





.fadeleft {
animation-name:fadeleftAnime;
animation-duration:2s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes fadeleftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}



.faderight {
animation-name:faderightAnime;
animation-duration:2s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes faderightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}


.fadeup {
animation-name:fadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}



.fadedown {
animation-name:fadedownAnime;
animation-duration:2s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes fadedownAnime{
  from {
    opacity: 0;
  transform: rotate(-90deg);
  }

  to {
    opacity: 1;
  transform:rotate(0);
  }
}

.fadedown02 {
animation-name:fadedownAnime02;
animation-duration:2s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadedownAnime02{
  from {
    opacity: 0;
  transform: rotate(-90deg);
  }

  to {
    opacity: 1;
  transform:rotate(0);
  }
}




@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


.animate {opacity: 0; }
.fade-in {transform: translateY(120px); transition: opacity 0.5s ease, transform 0.5s ease; }
.zoom-in {transform: scale(0.2); transition: opacity 0.5s ease, transform 0.5s ease; }
.show {opacity: 1; transform: translateY(0) scale(1) translateX(0) rotateY(0); }


/* アニメーションスタートの遅延時間を決めるCSS*/
.delay-time02{animation-delay: 0.2s;}
.delay-time04{animation-delay: 0.4s;}
.delay-time06{animation-delay: 0.6s;}
.delay-time10{animation-delay: 1s;}
.delay-time12{animation-delay: 1.2s;}
.delay-time20{animation-delay: 2s;}
.delay-time23{animation-delay: 2.3s;}
.delay-time30{animation-delay: 3s;}
