@charset "UTF-8";
@import url("reset.css");
/* CSS Document */
html {font-size: 62.5%;}
@media screen and (max-width: 480px) {html {font-size: 59.5%;}}
body {
   font-family: 'Noto Sans JP', sans-serif;
   color: #222222;
   line-height: 1.8;
   letter-spacing: 0.15em;
   font-weight: 400;
   font-feature-settings: "palt";
   background-repeat: repeat-y;
   background-position: left top;
    background-color: #f4f8f1;
}

@keyframes fadeInAnime{
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}


.fadeout {
   width: 100%;
   height: 100vh;
   position: fixed;
   z-index: 999;
   background-color: #fff;
    animation: fadeout 0.8s 0.2s;
    animation-fill-mode: both;
}

@keyframes fadeout {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        display: none;
      z-index: 0;
    }
}

/* タブレットの縮小表示の為の設定*/
body {min-width: 1280px;/* PC用の横幅を指定*/
}

/* SPのブレイクポイント*/
@media screen and (max-width: 767px){
body {
   min-width: initial;/* 初期化*/
   }
}
/* タブレットの縮小表示の為の設定　END*/

section {position: relative;}
.row {
   margin: 0 auto;
}

/* コンテンツはみ出した場合に使用 */
.overflow {
   width: 100%;
   overflow: hidden;
}
.overflow-x {
   width: 100%;
   overflow-x: hidden;
   overflow-y: visible;
}

hr {
   color: #898989;
}


h1 {}
h2 {color: #103564}
h3 {}
h4 {}
h5 {}
h6 {}

p {
    font-size: 1.6rem;
}

a:hover {opacity: 0.5;}

img {max-width: 100%;}

.underline {
   border-bottom: solid 1px #333;
}

.txt-line1 {
   font-size: inherit;
   line-height: 1;
}
.txt-line1_2 {
   font-size: inherit;
   line-height: 1.2;
}
.txt-line1_5 {
   font-size: inherit;
   line-height: 1.5;
}
.txt-line1_7 {
   font-size: inherit;
   line-height: 1.7;
}


.txt-line2 {
   font-size: inherit;
   line-height: 2;
}


.txt-line2_2 {
   font-size: inherit;
   line-height: 2.2;
}


.letter-space_s {
   letter-spacing: 0.02em
}

@media screen and (max-width: 767px) {
   .txt-line1 {
      font-size: inherit;
      line-height: 1.2;
   }
}

/* カラー */
.color-bk {color: #000000 !important;}
.color-wh {color: #fff !important;}
.color-y {color: #ffef00 !important;}
.color-r {color: #e50039 !important;}
.color-b {color: #001a60 !important;}
.color-b02 {color: #46a1ff !important;}
.color-o {color: #ff6c00 !important;}
.color-key {color: #1f2741 !important;}
.color-gry {color: #767676 !important;}
.color-gry02 {color: #444444 !important;}


/* 背景色 */
.bg-green {background-color: #0098af;}
.bg-blue {background-color: #006fcf;}
.bg-gry {background-color: #f6f6f6;}
.bg-bk {background-color: #000;}
.bg-o {background-color: #ff6c00;}

/* フォント種類 */
.en {font-family: 'Montserrat', sans-serif; line-height: 1}
.sans {font-family: 'Noto Sans JP', sans-serif;}
.sans-serif {font-family: 'Noto Serif JP', serif;}

/* テキストサイズ（絶対） */
.txt-10 {font-size: 1.0rem;}
.txt-12 {font-size: 1.2rem;}
.txt-14 {font-size:clamp(1.2rem, 2vw, 1.4rem);}
.txt-15 {font-size: 1.5rem;}
.txt-16 {font-size: clamp(1.6rem, 2vw, 1.6rem);}
.txt-18 {font-size: clamp(1.6rem, 2vw, 1.8rem);}
.txt-20 {font-size:clamp(1.6rem, 2.5vw, 2.0rem);}
.txt-22 {font-size:clamp(1.8rem, 2.5vw, 2.2rem);}
.txt-24 {font-size:clamp(2.0rem, 2.5vw, 2.4rem);}
.txt-26 {font-size:clamp(1.7rem, 3vw, 2.6rem);}
.txt-28 {font-size: 2.8rem;}
.txt-30 {font-size:clamp(2.0rem, 3.9vw, 3.0rem);}
.txt-32 {font-size:clamp(2.4rem, 4vw, 3.2rem);}
.txt-36 {font-size:clamp(2.4rem, 4vw, 3.6rem);}
.txt-40 {font-size:clamp(3.5rem, 5vw, 4.0rem);}
.txt-45 {font-size:clamp(3rem, 5vw, 4.5rem);}
.txt-50 {font-size:clamp(3.6rem, 6.5vw, 5.0rem);}
.txt-60 {font-size:clamp(3.2rem, 7.8vw, 6.0rem);}
.txt-75 {font-size:clamp(4.0rem, 9.9vw, 7.5rem);}

@media screen and (max-width: 767px) {
.txt-18sp {font-size: clamp(1.6rem, 2vw, 1.8rem);}  
}

/* テキストサイズ（相対） */
.txt-l {font-size: clamp(150%, 2vw, 200%);}
.txt-s {font-size: 50%;}

/* 位置（簡易） */
.left {text-align: left;}
.center {text-align: center;}
.center-sp {text-align: left;}
.right {text-align: right;}
@media screen and (max-width: 767px) {
.center-sp {text-align: center;}
}

.fl-l {float: left}
.fl-r {float: right}

/* オーバーレイ（例：黒色重ね） */
.overlay {
   position: fixed;
   top: 0;
   left: 0;
   background-color: rgba(0,0,0,0.90);
   width: 100vw;
   height: 100vh;

}

/* 透明設定 */
.opacity {opacity: 0.5}

/* 太さ設定 */
.bold-light {font-weight: 300;}
.bold-reg {font-weight: 400;}
.bold-semi {font-weight: 600;}
.bold-base {font-weight: 700;}
.bold {font-weight: 700;}
.medium-en {font-weight: 500}
.black {font-weight: 900}

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


/* 横線センター　テキスト */
.txt-line_r {
	display: flex;
	align-items: center;
}
.txt-line_r:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	display: block;
	margin-left: .4em;
	background: #000000;
}

@media screen and (max-width: 767px) {
.txt-line_r:before,
.txt-line_r:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	display: block;
  margin:0 1em; 
	background: #000000;
} 
}

/* 横線センター　テキスト */
.txt-line_modal {
	display: flex;
	align-items: center;
   margin: 0 0 50px 0;
}

@media screen and (max-width: 767px) {
 .txt-line_modal {
	display: flex;
	align-items: center;
   margin: -30px 0 30px 0;
}  
}
.txt-line_modal:before {
  content: "";
  flex-grow: 1;
  height: 2px; /* 線の太さ */
  background: #e50039; /* 線の色 */
  margin:0 2em 0 0; /* 文字と線の余白 */
}
.txt-line_modal:after {
  content: "";
  flex-grow: 1;
  height: 2px; /* 線の太さ */
  background: #e50039; /* 線の色 */
  margin:0 0 0 2em; /* 文字と線の余白 */
}

.txt-line_wh02 {
	display: flex;
	align-items: center;
}
.txt-line_wh02:before,
.txt-line_wh02:after {
  content: "";
  flex-grow: 1;
  height: 1px; /* 線の太さ */
  background: #fff; /* 線の色 */
  margin:0 2em; /* 文字と線の余白 */
}


.txt-line_bre {
	display: flex;
	align-items: center;
}
.txt-line_bre:before,
.txt-line_bre:after {
  content: "";
  flex-grow: 1;
  height: 1px; /* 線の太さ */
  background: #1f2741; /* 線の色 */
  margin:0; /* 文字と線の余白 */
}



/* PC・スマホ【表示/非表示】 */
.pc {display: inherit}
.sp {display: none}
.pc-w960 {display: inherit}
.sp-w960 {display: none}
.sp-w400 {display: none}
.pc-inline {display: inline}
.sp-inline {display: none}
.pc-block {display: block}
.sp-block {display: none}
@media screen and (max-width: 960px) {
 .pc-w960 {display: none}
.sp-w960 {display: block} 
}
@media screen and (max-width: 767px) {
.pc {display: none}
.sp {display: inherit;}
.pc-block {display: none !important}
.sp-block {display: block !important}
.pc-inline {display: none !important}
.sp-inline {display: inline !important}
}

@media screen and (max-width: 400px) {
  .sp-w400 {display: block} 
}



/* ポジション */
.posi-relative {position: relative;}
.posi-absolute {position: absolute;}

/* コンテンツ幅 */

.w460,.w520,.w540,.w570.w640,.w720,.w750,.w780,.w900,.w960,.w880,.w980,
.w1000,.w1040,.w1050,.w1080,.w1100,.w1120,.w1140,.w1200,.w1300 {
    width: 90%;
}
.w460 {max-width: 460px;}
.w520 {max-width: 520px;}
.w540 {max-width: 540px;}
.w570 {max-width: 570px;}
.w640 {max-width: 640px;}
.w720 {max-width: 720px;}
.w750 {max-width: 750px;}
.w780 {max-width: 780px;}
.w880 {max-width: 880px;}
.w900 {max-width: 900px;}
.w960 {max-width: 960px;}
.w980 {max-width: 980px;}
.w1000 {max-width: 1000px;}
.w1040 {max-width: 1040px;}
.w1050 {max-width: 1050px;}
.w1080 {max-width: 1080px;}
.w1100 {max-width: 1080px;}
.w1080pcsp {max-width: 1080px; width: 100%}
.w1080pcsp02 {max-width: 1080px; width: 100%}
.w1120 {max-width: 1120px;}
.w1200 {max-width: 1200px;}
.w1300 {max-width: 1300px;}
.wSP {width: 84%;}
@media screen and (max-width: 767px) {
 .w1080pcsp02 {max-width: 1080px; width: 100% !important;}  
}

/* 余白 */
.pA05 {padding: 5px;}
.pA20 {padding: 20px;}
.pA30 {padding: 30px;}
.pA40 {padding: 40px;}
.pA50 {padding: 50px;}

.pr5 {padding-right: 5%;}
.pr30 {padding-right: 30px;}
.pr60 {padding-right: 60px;}

.pl5 {padding-left: 5%;}
.pl30 {padding-left: 30px;}
.pl60 {padding-left: 60px;}
@media screen and (max-width: 767px) {
.pl60 {padding-left: 0;} 
}


/* マージン */
.mt20- {margin-top: -20px;}
.mt50- {margin-top: -50px;}
@media screen and (max-width: 767px) {
.mt20- {margin-top: 0;}
.mt50- {margin-top: 0;}
}
.mt05 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt40 {margin-top: 40px;}
.ml35 {margin-left: 35px;}
.ml60 {margin-left: 60px;}
.ml180 {margin-left: 180px;}
.mr20{margin-right: 20px;}
@media screen and (max-width: 767px) {
.mr20{margin-right: 0;}
.ml60 {margin-left: 0;}
.ml180 {margin-left: 0;}
}


.mb00 {margin-bottom: 0px;}
.mb05 {margin-bottom: 0.5rem;}
.mb10 {margin-bottom: 1.0rem;}
.mb15 {margin-bottom: 1.5rem;}
.mb20 {margin-bottom: 2.0rem;}
.mb25 {margin-bottom: 2.5rem;}
.mb30 {margin-bottom: 3.0rem;}
.mb35 {margin-bottom: 3.5rem;}
.mb40 {margin-bottom: 4.0rem}
.mb45 {margin-bottom: 4.5rem;}
.mb50 {margin-bottom: 5.0rem;}
.mb55 {margin-bottom: 5.5rem;}
.mb60 {margin-bottom: clamp(3.0rem, 12vw, 6.0rem)}
.mb65 {margin-bottom: 6.5rem;}
.mb70 {margin-bottom: 7.0rem;}
.mb75 {margin-bottom: 7.5rem;}
.mb80 {margin-bottom: 8.0rem;}
.mb85 {margin-bottom: 8.5rem;}
.mb90 {margin-bottom: 9.0rem;}
.mb95 {margin-bottom: 9.5rem;}
.mb100 {margin-bottom: clamp(50px, 13vw, 100px)}
.mb120 {margin-bottom: clamp(60px, 13vw, 120px)}
.mb150 {margin-bottom: 15.0rem;}
.mb200 {margin-bottom: 20.0rem;}

  .mb00sp {margin-bottom: none;} 
  .mb10sp {margin-bottom: none;}  
  .mb20sp {margin-bottom: none;}  
  .mb30sp {margin-bottom: none;}  
  .mb40sp {margin-bottom: none;}
  .mb50sp {margin-bottom: none;}  
  .mb60sp {margin-bottom: none;}  
  .mb80sp {margin-bottom: none;}  
@media screen and (max-width: 767px) {
  .mb00sp {margin-bottom: 0;} 
  .mb10sp {margin-bottom: 10px;}  
  .mb20sp {margin-bottom: 20px;}  
  .mb30sp {margin-bottom: 20px;}  
  .mb40sp {margin-bottom: 40px;}
  .mb50sp {margin-bottom: 50px;}
  .mb60sp {margin-bottom: 60px;}
  .mb80sp {margin-bottom: 80px;}  
}

/* フレックス（横並び） */
.flex {
   width: 100%;
   display: -webkit-box;
   display: -moz-box;
   display: -ms-box;
   display: -webkit-flexbox;
   display: -moz-flexbox;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: -moz-flex;
   display: -ms-flex;
   display: flex;
    flex-wrap: wrap;
}

.f-wrap {   -webkit-box-lines: multiple;
   -moz-box-lines: multiple;
   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;}
.f-nowrap {flex-wrap: nowrap;}

.f-wrap-sp {flex-wrap: nowrap;}
@media screen and (max-width: 767px) {
  .f-wrap-sp {   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;}  
}

.f-j-betweeen {
   -webkit-box-pack: justify;
   -webkit-justify-content: space-between;
   -ms-flex-pack: justify;
   justify-content: space-between;
}
.f-j-center {justify-content: center}
.f-j-start {justify-content: flex-start}
.f-j-end {justify-content: flex-end}

.f-a-center {align-items: center}
.f-a-end {align-items: flex-end}

.f-j-sp-center {justify-content: flex-start;}
@media screen and (max-width: 767px) {
.f-j-sp-center {justify-content: center}
}


.f-w25 {width: 25%;}
.f-w30 {width: 30%;}
.f-w35 {width: 35%;}
.f-w40 {width: 40%;}
.f-w45 {width: 45%;}
.f-w47 {width: 47%;}
.f-w50,
.f-w50l,
.f-w50r {width: 50%;}
.f-w55 {width: 55%;}
.f-w60 {width: 60%;}
.f-w65 {width: 65%;}
.f-w70 {width: 70%;}
.f-w75 {width: 75%;}
.f-w80 {width: 80%;}
.f-w85 {width: 85%;}
.f-w90 {width: 90%;}
.f-w95 {width: 95%;}
.f-w100 {width: 100%;}

.f-box::after {
display: block;
content:"";
width: 30%;
}

/* 順番 */
.order01 {order: -1;}
.order02 {order: 0;}
@media screen and (max-width: 767px) {
.order01 {order: 0;}
.order02 {order: -1;}
}

/* グーグルマップ */
.ggmap {
   position: relative;
   padding-bottom: 62.25%;
   height: 0;
   overflow: hidden;
}
@media screen and (max-width: 767px) {
.ggmap {
   position: relative;
   padding-bottom: 100%;
   height: 0;
   overflow: hidden;
}   
}
.ggmap iframe, .ggmap object, .ggmap embed {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

/* サムネイル */
.thum {
text-align:center;
   overflow: hidden;
}
.thum img, figure img {
width:auto;
height:auto;
max-width:100%;
max-height:100%;
}

a .thum img {
width:auto;
height:auto;
max-width:100%;
max-height:100%;
}


a:hover .thum img  {
opacity: 0.8;
}

.video-container {
	width: 100%;
	height: 100%;
	position: relative;
}


.wp-block-embed__wrapper {
   position: relative;
   padding-bottom: 56.25%;
   height: 0;
   overflow: hidden;	
}

.wp-block-embed__wrapper iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}


