@charset "utf-8";


h1, h2, h3, h4, h5, h6 { font-weight: bold; }
strong, em { font-weight:bold; }
small{ font-size:80%; }
sub,sup{ font-size:70%; line-height:0; position:relative; vertical-align:baseline; }
sup{ vertical-align:text-top; top:-.5em; }
sub{ vertical-align:text-bottom; bottom:-.25em; }


@font-face { font-family:"FAsolid"; src:url("./fa-solid-900.woff") format("woff"); }
@font-face { font-family:"FAregular"; src:url("./fa-regular-400.woff") format("woff"); }
@font-face{font-family: 'slick';font-weight: normal;font-style: normal;src: url('./slick.woff') format('woff');}


.fMin { font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif; }
.fGot{ font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }
.fMaru{ font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO"; }
.fTime{ font-family: "Times New Roman","Times New Roman",sans-serif; }
.zMaru_g{font-family: zen-maru-gothic, sans-serif;}
.noto-sans-jp{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.oswald{
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.dbl{display: block;}
.dib{display: inline-block;}
.din{display: inline;}
.dtb{display: table;}
.right, .right p{ text-align:right; }
.center, .center p { text-align:center; }
.left, .left p{ text-align:left; }
.under{ text-decoration: underline;}
.bold{ font-weight: 700; }
.big{ font-size: 120%; }
.small{ font-size: 90%; }
.small2{ font-size: 80%; }
.small3{ font-size: 70%; }
.lh14{ line-height:1.4; }
/*a[target="_blank"]::after { font-family: "FAsolid"; font-weight:900; content: "\f35d"; display: inline-block; margin:0 0 0 3px; }*/
.sns_icon a[target="_blank"]::after { display: none;}
.float_left {float: left;}
.float_right {float: right;}
.img_left{ display:block; float:left; margin:0 30px 30px 0; }
.img_right{ display:block; float:right; margin:0 0 30px 30px; }
.img_top{ margin-bottom:30px; }
.clear { clear: both; }
.clearfix::after { display: block; clear: both; content: ""; }
.flex{ display: flex; flex-flow: row wrap; }
.flex_between{ justify-content: space-between; }
.flex_center{ justify-content: center; }
.flex_end{ justify-content: flex-end; }
.flex_around{ justify-content: space-around; }
.flex_a_st{align-items: flex-start;}
.flex_a_center{ align-items: center; }
.flex_a_end{ align-items: flex-end; }
.flex_row{ flex-direction: row-reverse; }

.p_re{ position: relative; }

.indent { padding-left:1em; text-indent: -1em;}
.lineclamp2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow:hidden; }
.lineclamp3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow:hidden; }



:root{
  --c_gray: #F6F6F6;
  --c_pink: #D6AF9D;
  --c_red: #E6365A;
  --c_blue: #00A2DE;
  --c_dblue: #05529F;
  --c_lblue: #E8F3FB;
  --c_yel: #FED920;
  --c_trqs: #00CFDE;



}

/*基本スタイル
==================================================================================================================*/
/*基本文字サイズ&文字色*/
html { font-size:16px; }
body {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: normal;
  line-height: 1.8;
  letter-spacing: .025em;
  word-wrap: break-word;
}

.content {
  color: #111;
  background: #fff;
}

/*
.wf-active body {
  font-family: "Noto Sans JP", 'ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','メイリオ', Meiryo, sans-serif;
}
*/
h1, h2, h3, h4, h5, h6 { padding: 0; }
h1,h2,h3, h4{
  line-height: 1.6;
  text-align: center;
  margin-bottom: 1em;
  font-weight: 700;
}

p { margin:0px 0px 1em 0px;} /*下部に余白*/


p,dl dt,dl dd,li,div { font-size:clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem); }


/*リンク文字色*/
a{text-decoration: none;color:#111;transition : all 0.8s ease 0s;}
a:hover   { opacity: 0.8; }





/*マーカー＆強調文字色*/
.c_mrk { background-color:#e5d89b; padding:0 3px; } /*ラインマーカー*/
.c_posi  {color:#d64a5a;}/*positive*/
.c_point {color:#900000;}/*point up*/
.c_nega  {color:#5488a2;}/*negative*/
.c_off   {color:#cac5ba;}/*off*/
.c_blue  {color: var(--c_blue);}
.c_dblue  {color: var(--c_dblue);}
.c_red  {color: var(--c_red);}
.c_yel  {color: var(--c_yel);}
.c_pink  {color: var(--c_pink);}
.c_trqs  {color: var(--c_trqs);}
.c_wt  {color:#fff;}

.t_und_yel{background: linear-gradient(transparent 70%, var(--c_yel) 30%);}

.deco_und{text-decoration: underline;}


/*背景色*/
.bg_red{background: var(--c_red);}
.bg_gray{background: var(--c_gray);}
.bg_pink{background: var(--c_pink);}
.bg_blue{background: var(--c_blue);}
.bg_dblue{background: var(--c_dblue);}
.bg_lblue{background: var(--c_lblue);}
.bg_yel{background: var(--c_yel);}
.bg_trqs{background: var(--c_trqs);}
.bg_wt{background: #fff;}


/*テーブル*/
table { border-collapse: collapse; border-spacing:0; width: 100%; }
caption { text-align:left; font-weight:bold; color:#993300; }
th,td{ border: #7f9255 1px solid; padding:10px 20px; font-size: 1rem; vertical-align:top; }
thead th,tfoot th { background-color:#728c42; color:#fff; }
thead td,tfoot td { background-color:#999; color:#fff; }
tbody th { background-color: #a0cc3c; color: #fff; }
tbody td { background-color:#fff; }

/*区切り線*/
hr{clear:both;border:0px solid #fff;padding:15px 0;width:0;}
hr.br{ border:none; }

.img_frame { border: solid 4px #fff; box-shadow: 0 2px 6px rgb(0 0 0 / 10%); }

/*レイアウト共通*/
#container  { width: 100%;overflow: hidden;}
.inner{ width:94vw; max-width: 1200px; margin:0 auto; }
.main_inner{ width:94vw; max-width: 1200px; margin:0 auto; }
.inner:after{ content: ""; display: block; clear: both; }
.inner_section{ width: 94vw; max-width: 1200px; margin:0 auto; padding: 60px 0; }
.inner_wide{ width: 94vw; max-width: 1800px; margin:0 auto; padding: 60px 0; }
.w80{width: 100%;max-width: 800px;margin: auto;}
.w100{width: 100%;max-width: 1000px;margin: auto;}

.inner.w80,.inner.w100,
.inner_section.w80,.inner_section.w100{width: 92vw}

.full_w{
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}


img.ob_cover{
  object-fit: cover;
  width: 100%;
  height: 100%;
}


.m_at{
  margin: auto;
}


.gmap { height: 0; overflow: hidden; padding-bottom: 56.25%; position: relative;}
.gmap iframe { position: absolute; left: 0; top: 0; height: 100%; width: 100%;}


.contents_btm01{margin-bottom: 20px;}
.contents_btm02{margin-bottom: 40px;}
.contents_btm03{margin-bottom: 60px;}
.contents_btm04{margin-bottom: 80px;}
.contents_btm05{margin-bottom: 100px;}
.contents_btm0{margin-bottom: 0;}
.p0{padding: 0 !important;}
.mb0{margin-bottom: 0 !important;}
.pt0{padding-top: 0 !important;}
.pb0{padding-bottom: 0 !important;}

@media (max-width:999px) {
	body { letter-spacing: 0.1em;}
}


@media (max-width:799px) {
	.inner_section,.inner,.inner_wide{ width: 92vw;}
	.inner_section,.inner_wide,.pd80{ padding: 8vw 0;}
  .contents_btm01{margin-bottom: 2vw;}
  .contents_btm02{margin-bottom: 4vw;}
  .contents_btm03{margin-bottom: 6vw;}
  .contents_btm04{margin-bottom: 8vw;}
  .contents_btm05{margin-bottom: 10vw;}
  .nobr{display: none;}

}




@media all and (min-width: 600px){
  .noPC{ display:none !important; }
}
@media all and (max-width: 599.999px){
  .noSP{ display:none !important; }
}
@media (max-width:599px) {
  body{line-height: 1.7;}
  .order1{ order: 1; }
  .order2{ order: 2; }
  .noTab, .noTab caption, .noTab thead, .noTab tfoot, .noTab tbody, .noTab tr, .noTab th, .noTab td {
    display:block; width:100%; }
    .noTab tr { margin-top:10px; }
    .img_left{ float:none; margin:10px auto; text-align:center; }
    .img_right{ float:none; margin:10px auto; text-align:center; } 
  }




/*ボタン矢印*/
.arrow::after{
  content: '\f105';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: .85em;
  transform: translateY(-50%);
}




@media (max-width: 799px){



}










/*フッター*/
#bread { background:#eee; font-size:80%; padding:0.3em; }
#bread li { display:inline-block; }
#bread li::before { font-family:FAsolid; content:"\f105"; font-weight:900; color:red; display:inline-block; margin:.1em .5em; }
#bread li:first-of-type::before { content:"\f015"; margin:.1em .5em .1em 0; }
#bread a { color:green; }


footer{
  padding: 2em 0 0;
}


footer .foot_logo{
  width: 80%;
  max-width: 210px;
  margin:0 auto 2em;
}

footer .foot_link{
  text-align: center;
  margin: auto;
}
footer .foot_link li{
  font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
  display: inline-block;
  margin: .5em 1em;
  text-align: center;
  padding-left: 1em;
  position: relative;
}
footer .foot_link li::before{
  content: '\f105';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  top: .1em;
  left: 0;
}


.copy{
	font-size: 0.75rem;
	text-align: center;
  padding: 1em .25em;
}





@media (max-width:799px){





footer{
  padding: 2em 0 3.25em;
}

footer .foot_link{
  text-align: left;
  margin: 0;
}
footer .foot_link li{
  text-align: left;
  margin: .25em 0;
}

}



.onoff { opacity: 0; transition:all 1s; }
.onoff.on { opacity: 1; }


.fadein{
  display: block;
  transition: 1s;/*効果時間*/
  transition-timing-function:ease;/*開始と完了を滑らかにする*/
  transform:translateY(50px);/*下から表示させる*/
  opacity: 0;/*不透明度*/
}
.fadein.on{
  transform: none;/*active時に拡大解除*/
  opacity: 1;/*不透明度を元に戻す*/
}






#page_top{ width: 54px; height: 54px; position: fixed; z-index: 9999; display:none; right: 55px; bottom: 60px; background: var(--c_blue); border-radius: 50%;}
#page_top.on { display:block; }
#page_top a{ position: relative; display: block; width: 54px; height: 54px; text-decoration: none; text-align: center; color: #fff;}
#page_top a::before{ font-family: FAsolid; font-weight: 900; content: '\f106'; display: block; font-size: 25px; color: #fff;text-align: center;
  position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
margin: auto;}
@media (max-width: 799px){
  #page_top{ width: 50px; height: 50px; right: 20px;bottom: 65px}
  #page_top a{ width: 50px; height: 50px; line-height:1;}
  #page_top a::before{ margin-bottom:2px;}
}
@media (max-width: 369px){
  #page_top{ right: 10px;bottom: 55px}
  #page_top, #page_top a{width: 40px;height: 40px;}
  #page_top a::before{margin-bottom:0;height: 22px;}
}




/*サブページ
-------------------------------------------------------------------------------------------------------------------*/


.sub_main{
  display: flex;
  align-items: center;
  height: 45vw;
  min-height: 240px;
  max-height: 460px;
}



.sub_main h1{
  font-size: clamp(1.75rem, 1.295rem + 2.27vw, 3rem);
  margin-bottom: 0;
  color: #fff;
}
.sub_main h1::before{
  content: "";
  display: block;
  mask: url(../images/common/logo03.svg);
  mask-size: cover;
  image-rendering: -webkit-optimize-contrast;
  background-color: #fff;
  width: 30vw;
  height: 19vw;
  max-width: 220px;
  max-height: 138px;
  margin:0 auto .5em;
}


.sub_main h1 .en{
  display: block;
  font-size: clamp(0.75rem, 0.614rem + 0.68vw, 1.125rem);
  margin-bottom: .5em;
}





.sh1{
  font-size: clamp(1.25rem, 0.886rem + 1.82vw, 2.25rem);
  margin-bottom: .75em;
}


.sh2{
  font-size: clamp(1.375rem, 1.193rem + 0.91vw, 1.875rem);
  margin-bottom: .75em;
}

.sh3{
  font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
  margin-bottom: .75em;
}


.mt{ margin-top: 50px;}





