@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; }

.zen-kaku-gothic{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.overpass{
  font-family: "Overpass", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  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.blank[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: #F9F9F9;
  --c_blk: #313131;

  --c_red: #ff2141;
  --c_pink: #ffa4b7;

  --c_egren: #25B7BF;

  --c_org: #F79409;

  --c_blue: #3DA7E5;

  --c_yel: #f1df73;
  --c_dyel: #dfc31d;

  --c_line: #333333;


  --br10: 10px;
  --br20: 20px;
  --br30: 30px;

  --f34: clamp(1.375rem, 1.102rem + 1.36vw, 2.125rem);
  --f32: clamp(1.25rem, 0.977rem + 1.36vw, 2rem);
  --f30: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
  --f28: clamp(1.188rem, 0.983rem + 1.02vw, 1.75rem);
  --f26: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
  --f24: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
  --f22: clamp(1.063rem, 0.949rem + 0.57vw, 1.375rem);
  --f20: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);

}

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

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

h1,h2,h3, h4, h5, h6{
   padding: 0;
  text-align: center;
  margin-bottom: 1em;
  font-weight: 800;
}



p { margin:0px 0px 1.25em 0px;line-height: 2} /*下部に余白*/


p,dl dt,dl dd,li,div { font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem)}


/*リンク文字色*/
a{text-decoration: none;color:#333333;transition : all 0.6s 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_main  {color: var(--c_main);}
.c_sub  {color: var(--c_sub);}

.c_red  {color: var(--c_red) !important;}
.c_pink  {color: var(--c_pink) !important;}

.c_bln{color: var(--c_bln) !important;}
.c_lbln{color: var(--c_lbln) !important;}

.c_lgren{color: var(--c_lgren) !important;}
.c_gren{color: var(--c_gren) !important;}

.c_blue{color: var(--c_blue) !important;}
.c_dblue{color: var(--c_dblue) !important;}
.c_lblue{color: var(--c_lblue) !important;}

.c_lyel{color: var(--c_lyel) !important;}
.c_yel{color: var(--c_yel) !important;}

.c_org  {color: var(--c_org) !important;}
.c_lorg{color: var(--c_lorg) !important;}


.c_wt {color:#fff !important;}

.t_und_yel{background: linear-gradient(transparent 90%, #FFF82D 10%);padding: 0 .1em .25em}




/*背景色*/

.bg_gray{background: var(--c_gray);}

.bg_red{background: var(--c_red);}
.bg_pink{background: var(--c_pink);}

.bg_blue{background: var(--c_blue);}

.bg_yel{background: var(--c_yel);}

.bg_org{background: var(--c_org);}

.bg_wt{background: #fff;}



.f24{font-size: var(--f24);}
.f22{font-size: var(--f22);}
.f20{font-size: var(--f20);}

/*テーブル*/
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: 1300px; margin:0 auto; }
.main_inner{ width:94vw; max-width: 1300px; margin:0 auto; }
.inner:after{ content: ""; display: block; clear: both; }
.inner_section{ width: 94vw; max-width: 1300px; 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;}
.w90{width: 100%;max-width: 900px;margin: auto;}
.w100{width: 100%;max-width: 1000px;margin: auto;}
.w110{width: 100%;max-width: 1100px;margin: auto;}
.w120{width: 100%;max-width: 1200px;margin: auto;}
.w130{width: 100%;max-width: 1300px;margin: auto;}
.w160{width: 100%;max-width: 1600px;margin: auto;}

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

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

.flex>.img_area,.flex>.txt_area{width: 46%}

  .txt_c,.txt{
  text-align: center;
  line-height: 2.4;
}



.m_at{
  margin: auto;
}

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


.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;}


.br10 {border-radius: var(--br10);}
.br20 {border-radius: var(--br20);}
.br30 {border-radius: var(--br30);}



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


@media (max-width:799px) {


.content {padding-top: 4em;}


	.inner_section,.inner,.inner_wide{ width: 94vw;}
	.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;}

  .txt_c{
  text-align: left;
  line-height: 1.8;
}

.nobr{display: none;}

.flex>.img_area,.flex>.txt_area{width: 100%}
.flex>.img_area{max-width: 540px;margin: auto}

.flex>.img_area:has(+ .txt_area),
.flex>.txt_area:has(+ .img_area){margin-bottom: 1.5em}



}




@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;}
  .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; } 

:root{
  --br10: 6px;
  --br20: 10px;
  --br30: 14px;

}


  }

@media (max-width:399px){



}




/*ボタン矢印*/



.more a{
  display: block;
  border-radius: var(--br10);
  padding: 1em .5em;
  font-size: var(--f22);
  color: #fff;
  background: var(--c_blue);
  font-weight: bold;
  text-align: center;
  position: relative;
}

.more{
  width: 100%;
  max-width: 540px;
  margin: 3em auto 0;
  position: relative;
}
.more a::after,
.arrow::after{
  content: "";
  content: '\f138';
  color: #fff;
  font-family: "FAsolid";
  font-weight: 900;
  font-size: 150%;
  position: absolute;
  top: 50%;
  right: .35em;
  transform: translateY(-50%);
}




@media (max-width: 799px){


.more{margin: 1.5em auto 0;}





}


@media (max-width: 599px){



}






/*フッター*/
#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: 3em 0 1em;
  position: relative;
  background: #FFF5EE;
}

footer #group_logo{
  width: 50%;
  max-width: 106px;
  margin: auto;
}
footer #group_list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1em;
}
footer #group_list li a{
  display: block;
  font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
  position: relative;
  padding-left: 1.25em;
}

footer #group_list li a::before{
  content: "";
  content: '\f138';
  color: var(--c_egren);
  font-family: "FAsolid";
  font-weight: 900;
  position: absolute;
  top: 60%;
  left: 0;
  transform: translateY(-50%);
}

footer .copy{
  font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
  text-align: center;
}






@media (max-width:799px){

footer{
  padding: 3em 0 4.25em;
}
footer #group_list{grid-template-columns: repeat(2, 1fr);}


}


@media (max-width: 599px){


footer #group_list{grid-template-columns: repeat(1, 1fr);}

}





#page_top{ width: 54px; height: 54px; position: fixed; z-index: 9999; display:none; right: 40px; bottom: 40px; 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: 80px}
  #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;}
  #page_top, #page_top a{width: 40px;height: 40px;}
  #page_top a::before{margin-bottom:0;height: 22px;}
}


.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;/*不透明度を元に戻す*/
}


.sub_main{
  padding-top: 14em;
  padding-bottom: 4em;
}

.sub_main::before{
  font-size: clamp(3.75rem, 0.341rem + 17.05vw, 13.125rem);
  color: #F2F2F2;
  font-family: "Overpass", sans-serif;
  font-weight: 700;
  position: absolute;
  top: 3rem;
  left: -.05em;
}


.page_request .sub_main::before{content: "REQUEST";}

.sub_main>div{
  position: relative;
  z-index: 1;
}

.sub_main h1{
  font-size: clamp(1.625rem, 1.125rem + 2.5vw, 3rem);
  margin-bottom: 0;
}


.sh1{font-size: clamp(1.375rem, 1.011rem + 1.82vw, 2.375rem);margin-bottom: 1em;}




@media (max-width:799px){


.sub_main{
  padding-top: 8em;
  padding-bottom: 2em;
}


}


@media (max-width: 599px){


.sub_main{
  padding-top: 5em;
  padding-bottom: 1em;
}

}