html { overflow-y: scroll;}

body{font-size:16px; letter-spacing:1px;font-family: 'Noto Serif JP', sans-serif;  line-height:1.6;font-feature-settings: "palt"; -webkit-font-feature-settings: "palt";position:relative;background:#f9fafb;}
main{padding-top:80px;}
.global_inner{ margin:0 auto;    width: 1280px;    max-width: 90%; position:relative; z-index:1;  }
img{width:100%; height:auto;vertical-align: middle;}
a img{transition:0.2s all;}
a img:hover{transform: scale(1.1);transition:0.2s all; letter-spacing:2px;}
a:hover img{transform: scale(1.1);transition:0.2s all; letter-spacing:2px;}
a:hover{transition:0.2s all; text-decoration:underline;}
a{transition:0.6s all; }
table{width:100%; background:#FFF;}
h1,h2,h3,h4{font-weight:bold; line-height:1;}
i{margin-right:10px;}
ul.circle{ margin-top:10px;}
ul.circle li{text-indent: -20px;padding: 0 0 0 20px;}
ul.circle li:before{content:"●"; margin-right:5px;}




@media screen and (max-width: 768px) {
main{padding-top:60px;}
.global-inner{ padding:0 0px; width:90%; }
section{padding:40px 0;}
}









/* ナビゲーションメニュー */
header{	position: fixed;width: 100%;z-index: 3;box-shadow: 4px 4px 6px 0px rgba(0, 0, 0, 0.2); height:70px; background:#1e275b; }
header .box{display:flex;align-items: center;justify-content: space-between; padding:10px 20px 10px 20px;}
header .logo{width:70px; margin-right:40px;}
header .logo img:hover{transform:none;}
header .global-menu {width: fit-content;font-size:15px; font-weight:bold;}
header .global-menu > ul{display: flex;justify-content: flex-start;flex-wrap: wrap;}
header .global-menu > ul > li{position: relative; color:#FFF;}
header .global-menu > ul > li a {display: flex; align-items: center;justify-content: flex-start;padding:0 20px;}
header .global-menu > ul > li a:hover{text-decoration:none; color:#faffd7;}

header .global-menu > ul > li:hover{cursor:pointer;}
header .global-menu > ul > li:last-of-type{border-bottom:none;}



header .global-menu > ul > li > ul {background-color: #FFF;  padding:20px;left: 0px;  opacity: 0;position: absolute;top: 100%;transition: opacity .3s, visibility .3s;visibility: hidden;width: max-content;z-index: 1;}
header .global-menu > ul > li:hover > ul {opacity: 1;   transition: opacity .3s, visibility .3s;  visibility: visible;}
header .global-menu > ul > li > ul > li{ border-bottom:solid 1px #FFF; text-align:left; left:0; min-width:200px;}
header .global-menu > ul > li > ul > li a{color:#000; display:block; padding:10px;}
header .global-menu > ul > li > ul > li:hover{background:#dddfef;}
header .global-menu > ul > li > ul > li a:after{content:none;}


header #navArea{  width:100%;}

@media screen and (max-width: 1000px) {
header .global-menu{font-size:13px;}
header .global-menu > ul > li a {padding:0px;}
header .logo{width:160px; margin-right:20px;}
}


/*====================
ハンバーガーメニュー
=====================*/
@media screen and (max-width: 768px) {
header{background: #FFF;height:60px; position:fixed;left: unset;right: 0;width: 100%;top: 0px; z-index:3;display:flex;align-items: center;justify-content: space-between; padding:0px 10px; border-radius:0px;}
header .logo{width:auto; height:60px; z-index: 1;display:flex;justify-content: center;align-items: center;}
header .logo img{width:auto; height:30px;}
nav {display: block;position: fixed;top: 0;right: -300px;bottom: 0;width: 300px;-webkit-overflow-scrolling: touch;transition: all 0.5s;z-index: 102;opacity: 0;margin-left:0px; margin-right:0px;}
.open nav {display: block;right: 0;opacity: 1;top:0px;box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.08);width:100%; padding-top:0px;color:#FFF; background:#FFF;overflow-y: scroll;display:flex;flex-direction: column; }
.open nav .logo{ display:none; }
nav {right: -220px;width: 220px;}

header .global-menu > ul{flex-direction: column;}
header .global-menu > ul > li a { font-size:17px;}

header .global-menu > ul > li > ul {opacity: 1;position: relative;visibility: visible;width: 100%; display:flex; flex-wrap: wrap; margin-bottom:20px;}
header .global-menu > ul > li > ul > li a { font-size:14px; padding:2px;}
header .global-menu > ul > li > ul > li a:before{content:"● ";}
header .global-menu > ul > li{order:1;}


header .global-menu .menu-head{}
header .global-menu .menu-head ul{display:flex;}
header .global-menu .menu-head li a{padding:3px; font-size:14px; display:block; text-align:center;}




/*============
ハンバーガーメニューのトグル
=============*/
.toggle_btn {display: block;position: fixed;top:0px; right:0px;width: 60px;height: 60px;transition: all .5s;cursor: pointer;z-index: 103; background:#191D40;}
.toggle_btn p{font-size:12px;}
.toggle_btn span {display: block;position: absolute;left: 15px;width: 30px;height: 3px;background-color: #FFF;border-radius: 4px;transition: all .5s;}
.toggle_btn span:nth-child(1) {top: 18px;}
.toggle_btn span:nth-child(2) {top: 28px; width:30px;left: unset;right: 15px;}
.toggle_btn span:nth-child(3) {top: 38px;}
.open .toggle_btn span {background-color: #FFF;}
.open .toggle_btn span:nth-child(1) {transform: translateY(10px) rotate(-315deg);}
.open .toggle_btn span:nth-child(2) {opacity: 0;}
.open .toggle_btn span:nth-child(3) {transform: translateY(-10px) rotate(315deg);}

/*========================
ハンバーガーメニューのマスク
=========================*/
#mask {display: none;transition: all .5s;}
.open #mask {display: block;position: fixed;top: 0;right: 0;width: 100%;height: 100%;opacity: .8;z-index: 101; }
}

/*====================
キービジュアル
=====================*/
.kv{height:100vh; width:100%; position:relative; display:flex;justify-content: center;align-items: center; background:url(/image/kv.jpg) no-repeat; background-size:cover;}
.kv img{height:100vh; width:100%; object-fit:cover;}
.kv .copy{ color:#FFF; font-size:60px; letter-spacing:10px;}




/*====================
スワイパー
=====================*/
.kv .swiper{ position:relative;}
.kv .swiper .swiper-slide img{aspect-ratio: 16 / 6;object-fit: cover;}
.kv .swiper .text{position: absolute;    top: 50%;    left: 50%;    transform: translate(-50%, -50%); z-index:2;font-family: 'Noto Serif JP', serif;font-size:max(2.5vw,24px); color:#FFF; font-weight:bold; width:80%; text-align:center; text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.7);
}

@media screen and (max-width: 768px) {
.kv .swiper .text{font-size:max(1vw,16px);width:90%;}
.kv .swiper .swiper-slide img{aspect-ratio: 16 / 12;}
}


/*========================
ページトップ
=========================*/
#page_top a{width:60px; height:60px; transition:0.4s all; position: fixed; right:20px; bottom:20px;z-index: 1; background:#191D40;display:flex;justify-content: center;align-items: center; }
#page_top a i{color:#FFF; font-size:30px; margin-right:0;}
#page_top a:hover{text-decoration:none;}
@media screen and (max-width: 768px) {
#page_top a{right:10px; bottom:65px;width:50px; }
}


/*=======  下からフェードアップ  =======*/
.fadeup {opacity: 0;}
.fadeup.isShow {  opacity: 1;animation: fadeUp 0.3s ease 0.3s 1 normal backwards;}

.fadeup_slow {opacity: 0;}
.fadeup_slow.isShow {  opacity: 1;animation: fadeUp 1.5s ease 0.3s 1 normal backwards;}

@keyframes fadeUp {
from {
    opacity: 0;
    transform: translateY(100px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

.p20{padding:20px;}
.p40{padding:40px;}
.mb5{ margin-bottom:5px;}
.mb10{ margin-bottom:10px;}
.mb20{ margin-bottom:20px;}
.mb40{ margin-bottom:40px;}
.mb80{ margin-bottom:80px;}
.mt20{ margin-top:20px;}
.mt40{ margin-top:40px;}
.mt80{ margin-top:80px;}
.mt10{ margin-top:10px;}
.w50p{ width:50%;}
.w100p{ width:100%;}
.text_green{ color:#007061;}
.text_orange{color:#FD7500;}
.text_black{color:#000;}
.bg_gray{background:#E2EBEA; }
.bg_green{background:#20AE97; }
.bg_dark_green{background:#007061; color:#FFF;}
.bg_light_green{background:#D5F0E6;}
.bg_white{background:#FFF;}
.font18{font-size:18px;}
.text_center{text-align:center;}
.text_red{ color:red;}
.text_waku{font-size:16px; border:solid 1px #000; padding:3px; background:#FFF; margin-bottom:3px;display: inline-block;}
.fit_content{width:fit-content; margin-left:auto; margin-right:auto;}
@media screen and (max-width: 768px) {
.pc{display:none !important;}
.p40{padding:20px;}
.mt10_sp{ margin-top:10px !important;}
.mt20_sp{ margin-top:20px !important;}
.mb80{ margin-bottom:40px;}
.mb10_sp{ margin-bottom:10px !important;}
.mb20_sp{ margin-bottom:20px;}
.w44p_sp{width:44% !important;}
.w100p_sp{width:100% !important;}
.font-small_sp td,.font-small_sp th{font-size:80% !important; padding:5px !important;}
}

@media screen and (min-width: 769px) {
.sp{display:none !important;} 
}