@charset "UTF-8";

/* reset */
#maincontent {
	text-align: center;
	position: relative;
}
#maincontent ul {
  padding: 0;
}
#maincontent ul li {
  list-style: none;
}


/* ---------------------------------

  ヘッダー

--------------------------------- */
#header_ct {
	position: relative;
	top: 0;
	left: 0;
	width: 920px;
}
#header_ct {
	border-bottom: 1px solid #EEEEEE;
}
#header_ct .logoImg_ct {
	text-align: center;
	padding-bottom: 15px;
	padding-top: 15px;
}
#header_ct .logoImg_ct img {
	width: 140px;
	height: auto;
}


/*****************************************************
- Date: 2022-08-17
CSS Document : layout とブランド内で統一して使用するスタイルについて
  1.共通・ブランド内大枠の設定
   * body/wrap/container
  2.各エリアの設定
   * header
   * footer
  3.スマホ
 - ****************************************************/

body {
	font-size: 10px;
	letter-spacing: 0em;
}
i,em {
	font-style: normal;
	font-weight: inherit;
}
div#wrap_ct {
	position:relative;
	height:100%;
}
a {
 transition: all 0.3s;
}

@media (min-width: 920px) {
#wrapper_ct a:hover {
  opacity: 0.7;
}
}
img {
 border: none;
 vertical-align: top;
}
.pc_ct,
.vpc_ct {
 display: block;
}
.sp_ct,
.vsp_ct {
		display: none;
}


/* ---------------------------------
	ヘッダー
--------------------------------- */
#header_ct {
	width: 920px;
	margin-left: auto;
	margin-right: auto;
}
#header_sp_ct {
	display: none;
}


/*------------------------------------
  SP
------------------------------------*/
@media (max-width: 919px) {
	.pc_ct {
		display: none;
	}
	.sp_ct {
		display: block;
	}
	body {
		-webkit-text-size-adjust: 100%;
	}
	#header_ct {
		display: none;
	}
	#header_sp_ct {
		display: block;
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
	}
	#header_sp_ct .h-inner {
		text-align: center;
	}
	#header_sp_ct .h-inner .logo a img {
		padding-top:12px;
		padding-bottom:12px;
		display: inline-block;
		width: 110px;
	}
}
/**/
@media (max-width: 767px) {
	.vpc_ct {
		display: none;
	}
	.vsp_ct {
		display: block;
	}
}

body > .page {
	overflow: hidden;
}


/*****************************************************

LP固有のスタイル

 - ****************************************************/

/**/
.dur {
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  transition-delay: 0s;
}

/**/
.bg_outer {
  position: relative;
  background-position: 0 0;
  background-repeat: repeat;
  background-image: url(../images/base.jpg);
}
.bg_outer::before {
  content: "";
  width: 100%;
  height: 25px;
  background-position: center 0;
  background-repeat: repeat-x;
  background-image: url(../images/bg_top.png);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.bg_outer::after {
  display: block;
  content: "";
  width: 100%;
  height: 50px;
  margin: 0 0 -5px;
  background-position: center 0;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-image: url(../images/arch.png);
}
.lc_outer_ct p {
  margin: 0;
  line-height: 1.7;
}
/**/
.lc_outer_ct {
  font-family: "A1 Gothic M","游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic", "メイリオ", "Meiryo", "Noto Sans", "Noto Sans CJK JP", "system-ui", sans-serif;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.lc_outer_ct:not(.wide) {
  max-width: 1500px;
}
.lc_outer_ct .lc_inner_ct {
  position: relative;
  max-width: 1210px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  padding: 0 20px;
}
.lc_outer_ct img {
	width: 100%;
	height: auto;
}
.lc_outer_ct a {
	text-decoration: none !important;
}
.lc_outer_ct .ttl_ct {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto auto;
  background-image: url(../images/ttl01.png);
  color: #E50012;
	font-size: 250%;
  min-height: 63px;
  margin: 0;
}
.lc_outer_ct .ttl_ct span {
  font-size: inherit;
  line-height: 1;
  color: inherit;
  padding: 15px 0 10px 55px;
  display: inline-block;
  font-family: "A1 Gothic M","游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic", "メイリオ", "Meiryo", "Noto Sans", "Noto Sans CJK JP", "system-ui", sans-serif;
}
.lc_outer_ct .ttl_ct + .sub_ct {
  color: #333;
  font-size: 180%;
  margin: 40px 0 0;
}
.lc_outer_ct .float_ct {
  position: absolute;
}
.lc_outer_ct .img_list_ct {
  margin-top: 55px;
}
.lc_outer_ct .img_list_ct ul {
  display: flex;
  flex-wrap: wrap;
  margin: -60px 0 0 -4%;
}
.lc_outer_ct .img_list_ct ul li {
  width: 46%;
  margin: 60px 0 0 4%;
  border-radius: 20px;
  background: #fff;
}
.lc_outer_ct .img_list_ct ul li a,
.lc_outer_ct .img_list_ct ul li span {
  display: block;
  border-radius: 20px;
  overflow: hidden;
}
/**/
#main_ct {
}
#main_ct .main_img_ct {
  margin: 0px auto;
  max-width: 420px;
  padding-top: 60px;
}
#main_ct .main_lead_ct {
  font-size: 220%;
  color: #E50012;
  margin-top: 13px;
}
#main_ct .tab_ct {
  margin-top: 35px;
}
#main_ct .tab_ct ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 20px;
  margin-top: -12px;
}
#main_ct .tab_ct ul li {
  margin-top: 12px;
}
#main_ct .tab_ct ul li span,
#main_ct .tab_ct ul li a {
  display: block;
  border-radius: 100px;
  border: 1px solid #E50012;
  color: #E50012;
  background: #fff;
  line-height: 1;
  font-size: 160%;
  padding: 11px 19px;
}
#main_ct .tab_ct ul li span::before,
#main_ct .tab_ct ul li a::before {
  content: "#";
  padding-right: 0.5em;
}

#main_ct .tab_ct ul li span::after,
#main_ct .tab_ct ul li a::after {
  content: url(../images/ico_Instagram.png);
  vertical-align: middle;
  padding-left: 10px;
}

#main_ct .normal_ct {
  font-size: 180%;
  color: #333;
  margin-top: 25px;
}
#main_ct .float_ct.item01_ct {
  top: -95px;
  left: -285px;
}
#main_ct .float_ct.item02_ct {
  top: -15px;
  right: -100px;
}
/**/
#c01_ct {
  padding-top: 60px;
  padding-bottom: 70px;
}
#c01_ct .float_ct.item01_ct {
  top: -75px;
  right: -67px;
}
#c01_ct .float_ct.item02_ct {
  bottom: 270px;
  left: -125px;
}
/**/
#c02_ct {
  background: #E42413;
  margin-left: -500%;
  margin-right: -500%;
  padding-left: 500%;
  padding-right: 500%;
  padding-top: 30px;
  padding-bottom: 110px;
}
#c02_ct::after {
  content: "";
  width: 100%;
  height: 57px;
  background-position: center 0;
  background-repeat: repeat-x;
  background-image: url(../images/dec.png);
  display: block;
  position: absolute;
  bottom: -26px;
  left: 0;
  z-index: 1;
}
#c02_ct .ttl_ct {
  background-image: url(../images/ttl02.png);
  color: #fff;
}
#c02_ct .item01_ct {
  top: 0;
  left: 0;
}
#c02_ct .item02_ct {
  top: 0;
  right: 0;
}
#c02_ct .ttl_ct + .sub_ct {
  color: #fff;
}
/**/
#c03_ct {
  padding-top: 100px;
}
#c03_ct .ttl_ct {
  background-image: url(../images/ttl03.png);
}
.sns_block_ct {
  margin-top: 50px;
}
.sns_block_ct .sns_top_ct {
  text-align: center;
}
.sns_block_ct .sns_top_ct a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.sns_block_ct .sns_top_ct a .t01_ct {
  width: 130px;
}
.sns_block_ct .sns_top_ct a .t02_ct {
  padding-left: 22px;
}
.sns_block_ct .sns_top_ct a .t02_ct i {
  display: block;
  text-align: center;
  margin: 0;
}
.sns_block_ct .sns_top_ct a .t02_ct i.c01_ct {
  max-width: 169px;
  margin: 0 auto 7px;
}
.sns_block_ct .sns_top_ct a .t02_ct i.c02_ct {
  font-size: 350%;
  color: #333;
  line-height: 1;
  overflow-wrap: break-word;
}
.sns_block_ct .sns_mid_ct {
  margin: 35px auto 0;
  max-width: 718px;
}
/**/
#lp_sns_ct {
  padding-top: 90px;
  padding-bottom: 50px;
}
#lp_sns_ct .ttl_sns_ct {
  text-align: center;
	font-size: 230%;
}
#lp_sns_ct .ttl_sns_ct span {
  color: #6B503B;
  font-size: inherit;
  line-height: 1;
  position: relative;
}
#lp_sns_ct .ttl_sns_ct span::before,
#lp_sns_ct .ttl_sns_ct span::after {
  content: "";
  display: inline-block;
  background: #6B503B;
  width: 2px;
  position: absolute;
}
#lp_sns_ct .ttl_sns_ct span::before{ 
  left: 0;
}
#lp_sns_ct .ttl_sns_ct span::after {
  right: 0;
}
#lp_sns_ct .ttl_sns_ct span {
  padding: 0 40px;
}
#lp_sns_ct .ttl_sns_ct span::before,
#lp_sns_ct .ttl_sns_ct span::after {
  height: 55px;
  bottom: -10px;
}
#lp_sns_ct .ttl_sns_ct span::before {
  transform: rotate(-30deg);
}
#lp_sns_ct .ttl_sns_ct span::after {
  transform: rotate(30deg);
}
#lp_sns_ct .sns_list_ct {
  margin-top: 25px;
}
#lp_sns_ct .sns_list_ct ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 65px;
  padding: 0;
  margin: 0;
}
#lp_sns_ct .sns_list_ct ul li {
  width: 80px;
}
/**/
.sch_ct {
  position: relative;
  margin-top: 45px;
}
.sch_ct .sg_ct {
  position: absolute;
  width: 19%;
}
.sch_ct .sg_ct a {
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-image: url(../images/bg_cr.png);
}
.sch_ct .sg_ct.sg01_img_ct {
  top: 22.6%;
  left: 22.8%;
}
.sch_ct .sg_ct.sg02_img_ct {
  top: 60.5%;
  left: 1.6%;
}
.sch_ct .sg_ct.sg03_img_ct {
  top: 10.3%;
  left: 44.1%;
}
.sch_ct .sg_ct.sg04_img_ct {
  top: 60.5%;
  left: 44.1%;
}
.sch_ct .sg_ct.sg05_img_ct {
  top: 10.2%;
  left: 70.0%;
}
.sch_ct .sg_ct.sg06_img_ct {
  top: 44.5%;
  left: 70.0%;
}
.sch_ct .sg_ct.sg07_img_ct {
  top: 60.7%;
  left: 22.9%;
}
.sch_ct .sg_ct.sub01_img_ct {
  top: 12.9%;
  left: 17.9%;
  width: 11%;
  z-index: 1;
}
.sch_ct .sg_ct.sub02_img_ct {
  top: 10%;
  left: 57%;
  width: 10.4%;
  z-index: 1;
}
.sch_ct .sg_ct a {
  display: block;
  position: relative;
  opacity: 1 !important;
}
.sch_ct .sg_ct a img {
  opacity: 1 !important;
}
.sch_ct .sg_ct:not(.noflag_ct) a::before {
  position: absolute;
  top: 13%;
  left: 0;
  display: block;
  content: "";
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-image: url(../images/icon_box_close.png);
  height: 24%;
  width: 100%;
  background-position: center 0;
}
.sch_ct .sg_ct a:not(.link) {
  pointer-events: none;
}
.sch_ct .sg_ct:not(.noflag_ct) a.link::before {
  top: -29%;
  height: 66.5%;
  background-position: 76% 0;
  background-image: url(../images/icon_box_open.png);
}

.sg07_img_ct a.link::before  {
  top: -29%;
  height: 66.5%;
  background-position: 76% 0;
  background-image: url(../images/icon_box_open.png);

}
.pagetop_ct {
  max-width: 376px;
  margin: 90px auto 80px;
}
@media (min-width: 768px) {
  .sch_ct .sg_ct a.link:hover {
    background-image: url(../images/bg_cr_hover.png);
  }
}


/* additional 追加ボタン */

.page-list-ct ul li {
  width: 30%;
  min-width: 330px;
  margin: 50px auto 10px auto;
}
.page-list-ct ul li a {
  display: block;
  border: 2px solid #E50012;
  border-radius: 5px;
  /* padding: 15px 80px 10px 25px; */
  padding: 10px 60px 6px 20px;
  background-image: url(./../images/arrow.svg);
  background-position: 93% 50%;
  background-repeat: no-repeat;
  background-size: auto auto;
  background-color: #fff;
}

.page-list-ct ul li a .txt01_ct {
  font-size: 140%;
}

.page-list-ct ul li a .txt02_ct {
  font-size: 180%;
  color: #E50012;
  /* padding-left: 20px; */
  margin: 3px 0 0;
}

.page-list-ct ul li a span {
  display: block;
}

.page-list-ct ul li a span i {
  display: inline-block;
  position: relative;
}

.page-list-ct ul li a .txt01_ct i::before, .page-list-ct ul li a .txt01_ct i::after {
  content: "";
  display: inline-block;
  background: #000;
  width: 2px;
  position: absolute;
}

.page-list-ct ul li a .txt01_ct i::before {
  transform: rotate(-30deg);
}
.page-list-ct ul li a .txt01_ct i::after {
  transform: rotate(30deg);
}

.page-list-ct ul li a .txt01_ct i::before {
  left: -1em;
}
.page-list-ct ul li a .txt01_ct i::after {
  right: -1em;
}

@media screen and (min-width: 768px) {
    .page-list-ct ul li a .txt01_ct i::before, 
    .page-list-ct ul li a .txt01_ct i::after {
        height: 25px;
        bottom: -2px;
    }
}
@media screen and (max-width: 767px) {
  .page-list-ct ul li a .txt01_ct i::before, .page-list-ct ul li a .txt01_ct i::after {
      height: 30px;
      bottom: -5px;
  }
}
/*------------------------------------
  SP
------------------------------------*/
@media (max-width: 919px) {

}
/**/
@media (max-width: 767px) {

  /**/
  .bg_outer::before {
    height: 15px;
    background-size: 110px 15px;
  }
  .bg_outer::after {
    height: 35px;
    background-image: url(../images/arch_sp.png);
  }
  /**/
  #main_ct .float_ct.item01_ct {
    top: 11.5%;
    left: -205px;
    width: 400px;
  }
  #main_ct .float_ct.item02_ct {
    top: auto;
    right: -73px;
    width: 170px;
    bottom: -27%;
  }
  /**/
  #main_ct .main_img_ct {
    max-width: 100%;
    padding-top: 40px;
    width: 83.6%;
  }
  #main_ct .normal_ct {
    margin-top: 30px;
  }
  #main_ct .main_lead_ct {
    font-size: 200%;
    line-height: 1.6;
  }
  #main_ct .tab_ct ul {
    gap: 0 15px;
    /* justify-content: flex-start; */
  }
  #main_ct .tab_ct ul li span,
  #main_ct .tab_ct ul li a {
    padding: 10px 15px;
  }
  /**/
  #c01_ct {
    padding-bottom: 10px;
  }
  #c01_ct .float_ct.item01_ct {
    top: 50%;
    right: -50px;
    width: 180px;
  }
  #c01_ct .float_ct.item02_ct {
    bottom: auto;
    left: -111px;
    width: 240px;
    top: 30%;
  }
  /**/
  .sch_ct {
    margin-top: 25px;
  }
  .sch_ct .sg_ct {
    width: 46.5%;
  }
  .sch_ct .sg_ct.sg01_img_ct {
    top: 12.6%;
    left: 50.8%;
  }
  .sch_ct .sg_ct.sg02_img_ct {
    top: 23%;
    left: 4.9%;
  }
  .sch_ct .sg_ct.sg03_img_ct {
    top: 46%;
    left: 4.8%;
  }
  .sch_ct .sg_ct.sg04_img_ct {
    top: 55.7%;
    left: 50.5%;
  }
  .sch_ct .sg_ct.sg05_img_ct {
    top: 71.3%;
    left: 4.7%;
  }
  .sch_ct .sg_ct.sg06_img_ct {
    top: 78.6%;
    left: 50.5%;
  }
  .sch_ct .sg_ct.sg07_img_ct {
    top: 29.4%;
    left: 50.1%;
  }
  .sch_ct .sg_ct.sub01_img_ct {
    /* top: 10.2%; */
    top: 11%;
    left: 33.8%;
    width: 28%;
  }
  .sch_ct .sg_ct.sub02_img_ct {
    top: 46.5%;
    left: 40%;
    width: 28.0%;
  }
  .sch_ct .sg_ct a.link::before {
    top: -36%;
    height: 74.5%;
    background-position: 82% 0;
  }
  /**/
  #c02_ct {
    padding-top: 40px;
    padding-bottom: 35px;
  }
  #c02_ct::after {
    height: 32px;
    bottom: -16px;
    background-size: 110px 32px;
  }
  .lc_outer_ct .ttl_ct + .sub_ct {
    margin: 20px 0 0;
  }
  .lc_outer_ct .img_list_ct {
    margin-top: 50px;
  }
  .lc_outer_ct .img_list_ct ul {
    display: block;
    margin: -25px 0 0 0;
  }
  .lc_outer_ct .img_list_ct ul li {
    width: 100%;
    margin: 25px 0 0 0;
  }
  /**/
  #c03_ct {
    padding-top: 50px;
  }
  /**/
  .sns_block_ct {
    margin-top: 22px;
  }
  .sns_block_ct .sns_top_ct a .t01_ct {
    width: 24%;
  }
  .sns_block_ct .sns_top_ct a .t02_ct {
    padding-left: 10px;
    width: 76%;
  }
  .sns_block_ct .sns_top_ct a .t02_ct i.c01_ct {
    max-width: 115px;
    margin: 0 auto 3px;
  }
  .sns_block_ct .sns_top_ct a .t02_ct i.c02_ct {
    font-size: 195%;
  }
  .sns_block_ct .sns_mid_ct {
    margin: 15px auto 0;
  }
  /**/
  #lp_sns_ct {
    padding-top: 55px;
    padding-bottom: 55px;
  }
  #lp_sns_ct .sns_list_ct ul {
    gap: 0 45px;
  }
  #lp_sns_ct .sns_list_ct ul li {
    width: 61px;
  }
  .pagetop_ct {
    margin: 55px auto 0px;
  }
}


/* 2023/12 ADD*/
.sch_ct .sg_ct.noflag_ct.disp_flag02_ct::after {

  position: absolute;
  top: -25%;
  left: 60%;
  display: block;
  content: "";
  background-repeat: no-repeat;
  background-image: url(../images/icon_box_open2.png);
  height: 39.5%;
  width: 62.1%;
  background-position: 0 0;
  background-size: 100% 100%;
  transform: translateX(-50%);

}