@charset "UTF-8";
/* CSS Document */
html, body {
 display: flow-root;
 overflow-x: clip;
}

.bg_triangle{width: 100%;
    background-image: url('../img/common/bg_triangle.png');
    background-repeat: no-repeat;
    background-size: 65%;
    background-position: top right;
    aspect-ratio: 16 / 9
}


.img_space_bug {
 margin: -1px 0;
}
.animate {
 opacity: 0 /*要素の出現を制御*/
}
/*!------------------------------------*\
   BLOCK
\*!------------------------------------*/
.img_responsiv {
 max-width: 100%;
 height: auto
}
.img_space_bug { /*1px隙間*/
 margin: -1px 0;
}
.text_center {
 text-align: center
}
.center_block {
 width: 100%;
 display: block;
 margin: auto
}
.vertical_middle {
 display: flex;
 align-items: centerF
}
.contents_full {
 margin-inline: calc(50% - 50vw);
}
.contents_full_pict {
 width: 100vw;
}
/*!------------------------------------*\
   FONT
\*!------------------------------------*/
.text_height_1 {
 line-height: 1.1
}
.fontcolor_blue {
 color: #1355bb
}
.fontcolor_bk {
 color: #333
}
.fontcolor_bk2 {
 color: #323232
}
.fontcolor_gly {
 color: #e6ecec
}
.fontcolor_wt {
 color: #fff
}
.font_800 {
 font-weight: 800
}
.font_700 {
 font-weight: 800
}
.font_600 {
 font-weight: 800
}
.font_size_15 {
 font-size: 15px
}
.font_size_20 {
 font-size: 20px
}
.font_size_24 {
 font-size: 24px
}
.font_size_30 {
 font-size: 30px
}
.font_size_35 {
 font-size: 35px
}
.font_size_40 {
 font-size: 40px
}
.font_size_42 {
 font-size: 42px
}
.font_size_45 {
 font-size: 45px
}
.font_size_50 {
 font-size: 50px
}
.font_size_90 {
 font-size: 90px
}
.font_size_140 {
 font-size: 140px
}
.font_size_150 {
 font-size: 150px
}
.font_size_230 {
 font-size: 230px
}
@media screen and (max-width: 1200px) {
 .font_size_20 {
  /* 文字最小値:18px　画面幅360px */
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 1.071rem + 0.24vw, 1.25rem);
  min-height: 0vw;
 }
 .font_size_24 {
  /* 文字最小値:18px　画面幅360px */
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.964rem + 0.71vw, 1.5rem);
  min-height: 0vw;
 }
 .font_size_30 {
  /* 文字最小値:23px　画面幅360px */
  font-size: 1.483rem;
  font-size: clamp(1.438rem, 1.25rem + 0.83vw, 1.875rem);
  min-height: 0vw;
 }
 .font_size_35 {
  /* 文字最小値:23px　画面幅360px */
  font-size: 1.483rem;
  font-size: clamp(1.438rem, 1.116rem + 1.43vw, 2.188rem);
  min-height: 0vw;
 }
 .font_size_40 {
  /* 文字最小値:23px　画面幅360px */
  font-size: 1.483rem;
  font-size: clamp(1.438rem, 0.982rem + 2.02vw, 2.5rem);
  min-height: 0vw;
 }
 .font_size_42 {
  /* 文字最小値:23px　画面幅360px */
  font-size: 1.483rem;
  font-size: clamp(1.438rem, 0.929rem + 2.26vw, 2.625rem);
  min-height: 0vw;
 }
 .font_size_45 {
  /* 文字最小値:23px　画面幅360px */
  font-size: 1.483rem;
  font-size: clamp(1.438rem, 0.848rem + 2.62vw, 2.813rem);
  min-height: 0vw;
 }
 .font_size_50 {
  /* 文字最小値:23px　画面幅360px */
  font-size: 1.483rem;
  font-size: clamp(1.438rem, 0.714rem + 3.21vw, 3.125rem);
  min-height: 0vw;
 }
 .font_size_90 {
  /* 文字最小値:30px　画面幅360px */
  font-size: 1.875rem;
  font-size: clamp(1.875rem, 0.268rem + 7.14vw, 5.625rem);
  min-height: 0vw;
 }
 .font_size_140 {
  /* 文字最小値:50px　画面幅360px */
  font-size: 3.125rem;
  font-size: clamp(3.125rem, 0.714rem + 10.71vw, 8.75rem);
  min-height: 0vw;
 }
 .font_size_150 {
  /* 文字最小値:50px　画面幅360px */
  font-size: 3.125rem;
  font-size: clamp(3.125rem, 0.446rem + 11.9vw, 9.375rem);
  min-height: 0vw;
 }
 .font_size_220 {
  /* 文字最小値:50px　画面幅360px */
  font-size: 3.125rem;
  font-size: clamp(3.125rem, -1.429rem + 20.24vw, 13.75rem);
  min-height: 0vw;
 }
}
@media screen and (max-width: 360px) {}
/*!------------------------------------*\
   SPACE
\*!------------------------------------*/
.space_contents_top {
 padding-top: 190px;
}
.space_top_btm_70 {
 padding-top: 70px;
 padding-bottom: 70px
}
.space_top_btm_100 {
 padding-top: 100px;
 padding-bottom: 100px
}
.space_top_btm_170 {
 padding-top: 170px;
 padding-bottom: 170px
}
.space_top_btm_200 {
 padding-top: 200px;
 padding-bottom: 200px
}
.space_top_btm_250 {
 padding-top: 250px;
 padding-bottom: 250px
}
/*top======*/
.space_top_15 {
 margin-top: 15px
}
.space_top_20 {
 margin-top: 20px
}
.space_top_25 {
 margin-top: 25px
}
.space_top_30 {
 margin-top: 30px
}
.space_top_40 {
 margin-top: 40px
}
.space_top_50 {
 margin-top: 50px
}
.space_top_60 {
 margin-top: 60px
}
.space_top_70 {
 margin-top: 70px
}
.space_top_80 {
 margin-top: 80px
}
.space_top_90 {
 margin-top: 90px
}
.space_top_100 {
 margin-top: 100px
}
.space_top_110 {
 margin-top: 110px
}
.space_top_120 {
 margin-top: 120px
}
.space_top_130 {
 margin-top: 130px
}
.space_top_140 {
 margin-top: 140px
}
.space_top_150 {
 margin-top: 150px
}
.space_top_160 {
 margin-top: 160px
}
.space_top_170 {
 margin-top: 170px
}
.space_top_180 {
 margin-top: 180px
}
.space_top_190 {
 margin-top: 190px
}
.space_top_200 {
 margin-top: 200px
}
/*bottom======*/
.space_btm_15 {
 margin-bottom: 15px
}
.space_btm_20 {
 margin-bottom: 20px
}
.space_btm_25 {
 margin-bottom: 25px
}
.space_btm_30 {
 margin-bottom: 30px
}
.space_btm_40 {
 margin-bottom: 40px
}
.space_btm_50 {
 margin-bottom: 50px
}
.space_btm_60 {
 margin-bottom: 60px
}
.space_btm_70 {
 margin-bottom: 70px
}
.space_btm_80 {
 margin-bottom: 80px
}
.space_btm_90 {
 margin-bottom: 90px
}
.space_btm_100 {
 margin-bottom: 100px
}
.space_btm_110 {
 margin-bottom: 110px
}
.space_btm_120 {
 margin-bottom: 120px
}
.space_btm_130 {
 margin-bottom: 130px
}
.space_btm_140 {
 margin-bottom: 140px
}
.space_btm_150 {
 margin-bottom: 150px
}
.space_btm_160 {
 margin-bottom: 160px
}
.space_btm_170 {
 margin-bottom: 170px
}
.space_btm_180 {
 margin-bottom: 180px
}
.space_btm_190 {
 margin-bottom: 190px
}
.space_btm_200 {
 margin-bottom: 200px
}
.space_btm_400 {
 margin-bottom: 400px
}
@media screen and (max-width: 768px) {
 .space_top_btm_170 {
  padding-top: 110px;
  padding-bottom: 110px
 }
 .space_top_btm_200 {
  padding-top: 130px;
  padding-bottom: 130px
 }
 .space_top_btm_250 {
  padding-top: 140px;
  padding-bottom: 140px
 }
 /*top======*/
 .space_top_70 {
  margin-top: 60px
 }
 .space_top_80 {
  margin-top: 60px
 }
 .space_top_90 {
  margin-top: 60px
 }
 .space_top_100 {
  margin-top: 80px
 }
 .space_top_110 {
  margin-top: 80px
 }
 .space_top_120 {
  margin-top: 80px
 }
 .space_top_130 {
  margin-top: 80px
 }
 .space_top_140 {
  margin-top: 100px
 }
 .space_top_150 {
  margin-top: 100px
 }
 .space_top_160 {
  margin-top: 100px
 }
 .space_top_170 {
  margin-top: 120px
 }
 .space_top_180 {
  margin-top: 120px
 }
 .space_top_190 {
  margin-top: 120px
 }
 .space_top_200 {
  margin-top: 120px
 }
 /*bottom======*/
 .space_btm_70 {
  margin-bottom: 60px
 }
 .space_btm_80 {
  margin-bottom: 60px
 }
 .space_btm_90 {
  margin-bottom: 60px
 }
 .space_btm_100 {
  margin-bottom: 80px
 }
 .space_btm_110 {
  margin-bottom: 80px
 }
 .space_btm_120 {
  margin-bottom: 80px
 }
 .space_btm_130 {
  margin-bottom: 80px
 }
 .space_btm_140 {
  margin-bottom: 100px
 }
 .space_btm_150 {
  margin-bottom: 100px
 }
 .space_btm_160 {
  margin-bottom: 100px
 }
 .space_btm_170 {
  margin-bottom: 120px
 }
 .space_btm_180 {
  margin-bottom: 120px
 }
 .space_btm_190 {
  margin-bottom: 120px
 }
 .space_btm_200 {
  margin-bottom: 120px
 }
 .space_btm_400 {
  margin-bottom: 180px
 }
}
@media screen and (max-width: 599px) {
 .space_top_btm_170 {
  padding-top: 100px;
  padding-bottom: 100px
 }
 .space_top_btm_200 {
  padding-top: 100px;
  padding-bottom: 100px
 }
 .space_top_btm_250 {
  padding-top: 120px;
  padding-bottom: 120px
 }
 /*top======*/
 .space_top_70 {
  margin-top: 35px
 }
 .space_top_80 {
  margin-top: 35px
 }
 .space_top_90 {
  margin-top: 35px
 }
 .space_top_100 {
  margin-top: 35px
 }
 .space_top_110 {
  margin-top: 35px
 }
 .space_top_120 {
  margin-top: 35px
 }
 .space_top_130 {
  margin-top: 50px
 }
 .space_top_140 {
  margin-top: 50px
 }
 .space_top_150 {
  margin-top: 50px
 }
 .space_top_160 {
  margin-top: 50px
 }
 .space_top_170 {
  margin-top: 50px
 }
 .space_top_180 {
  margin-top: 70px
 }
 .space_top_190 {
  margin-top: 70px
 }
 .space_top_200 {
  margin-top: 70px
 }
 /*bottom======*/
 .space_btm_70 {
  margin-bottom: 35px
 }
 .space_btm_80 {
  margin-bottom: 35px
 }
 .space_btm_90 {
  margin-bottom: 35px
 }
 .space_btm_100 {
  margin-bottom: 35px
 }
 .space_btm_110 {
  margin-bottom: 35px
 }
 .space_btm_120 {
  margin-bottom: 35px
 }
 .space_btm_130 {
  margin-bottom: 50px
 }
 .space_btm_140 {
  margin-bottom: 50px
 }
 .space_btm_150 {
  margin-bottom: 50px
 }
 .space_btm_160 {
  margin-bottom: 50px
 }
 .space_btm_170 {
  margin-bottom: 50px
 }
 .space_btm_180 {
  margin-bottom: 70px
 }
 .space_btm_190 {
  margin-bottom: 70px
 }
 .space_btm_200 {
  margin-bottom: 70px
 }
 .space_btm_400 {
  margin-bottom: 100px
 }
}
/*!------------------------------------*\
   共通
\*!------------------------------------*/
h3 > span {
 display: block
}
.bg_color_gray {
 background-color: #e6ecec
}
.bg_color_wt {
 background-color: #fff
}
.bg_color_skyblue {
 background-color: #EBF6FF
}
.bg_color_skyblue_deep {
 background-color: #CBE0F1
}
.contents {
 max-width: 1200px;
 margin: 0 auto
}
.contents_1-78 {
 max-width: 1780px;
 width: 92.70vw;
 margin: auto
}
.contents_1-6 {
 max-width: 1600px;
 width: 83.33vw;
 margin: auto
}
.contents_1-2 {
 max-width: 1200px;
 width: 62.5vw;
 margin: auto;
}
.contents_1-2solid {
 max-width: 1200px;
 margin: auto
}
.contentsTop {
  margin-top: 10em
}

#cta{background:#FAFAFA}

.bt_single a {
  position: relative;
  display: block;
  width: 330px;
  padding: 15px 0;
	margin: 0 auto;
  background: #023B92;
  background: linear-gradient(126deg,rgba(2, 59, 146, 1) 0%, rgba(47, 146, 226, 1) 100%);
  border-radius: 50px;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  box-sizing:border-box;
}

.bt_single a:hover{color:#023B92;background:#fff;outline:#023B92 3px solid}

.bt_arrow_right a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 27px;
  width: 12px;
  height: 12px;
  margin: auto;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}
.bt_arrow_right a::after:hover {
  border-top: 3px solid #023B92;
  border-right: 3px solid #023B92;
}

@media screen and (max-width: 1200px) {
 .contents {
  width: 90%;
 }
 .contents_1-78 {
  width: 90%;
 }
 .contents_1-6 {
  width: 90%;
 }
 .contents_1-2, .contents_1-2solid {
  width: 90%;
 }
}
.contents_ttl_sub {
 font-size: 20px;
 display: block;
}
.contents_ttl {
 font-size: 90px;
 font-weight: 600;
 display: block;
}
.contents_ttl_mini {
 font-size: 90px;
 font-weight: 600;
 display: block;
}
#numberTop .contents_ttl {
 font-size: 90px;
 font-weight: 600;
 display: block;
 margin-left: -.1em
}
.contents_ttlTop_ja {
 font-size: 20px;
 display: block;
}
.contents_ttlTop_en {
 font-size: 150px;
 font-weight: 600;
 display: block;
}
.contents_ttlTop {
 line-height: 1;
 padding-top: 100px;
 padding-bottom: 100px
}
@media screen and (max-width: 1200px) {
 .contents_ttl_sub {
  /* 文字最小値:13px　画面幅360px */
  font-size: 0.813rem;
  font-size: clamp(0.813rem, 0.625rem + 0.83vw, 1.25rem);
  min-height: 0vw;
 }
 .contents_ttl {
  /* 文字最小値:45px　画面幅360px */
  font-size: 2.813rem;
  font-size: clamp(2.813rem, 1.607rem + 5.36vw, 5.625rem);
  min-height: 0vw;
 }
 #numberTop .contents_ttl {
  /* 文字最小値:40px　画面幅360px */
  font-size: 2.5rem;
  font-size: clamp(2.5rem, 1.161rem + 5.95vw, 5.625rem);
  min-height: 0vw;
 }
 .contents_ttl_mini {
  /* 文字最小値:30px　画面幅360px */
  font-size: 1.875rem;
  font-size: clamp(1.875rem, 0.268rem + 7.14vw, 5.625rem);
  min-height: 0vw;
 }
 .contents_ttlTop_ja {
  /* 文字最小値:13px　画面幅360px */
  font-size: 0.813rem;
  font-size: clamp(0.813rem, 0.625rem + 0.83vw, 1.25rem);
  min-height: 0vw;
 }
 .contents_ttlTop_en {
  /* 文字最小値:52px　画面幅360px */
  font-size: 3.25rem;
  font-size: clamp(3.25rem, 0.625rem + 11.67vw, 9.375rem);
  min-height: 0vw;
 }
}
@media screen and (max-width: 599px) {
.contentsTop {
  margin-top: 9em;
}
	
 .contents_ttlTop {
  padding-bottom: 60px
 }
}
#recruitTop {
 background: url("../img/top/img01.jpg") no-repeat center / cover;
 padding-top: 200px;
 padding-bottom: 200px
}
#kidsTop {
 background: url("../img/top/img02.jpg") no-repeat center / cover;
 padding-top: 200px;
 padding-bottom: 200px
}
#companyTop {
 background: url("../img/top/img03.jpg") no-repeat center / cover;
 padding-top: 200px;
 padding-bottom: 200px
}
#company_shaze{margin:50px auto}
ul#company_histry_img{margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between}
ul#company_histry_img li{width:46%;margin:0}


@media screen and (max-width: 599px) {
 #recruitTop {
  background-position-x: 70%
 }
ul#company_histry_img li{width:100%;margin:0 auto 5% auto}
}
#andkids.leading_box {
 background: url("../img/business/img02.jpg") no-repeat center / cover;
 padding-top: 260px;
 padding-bottom: 260px
}
@media screen and (max-width: 1024px) {
 #vision.leading_box {
  background-position-x: 63%
 }
}
.leading_box_ttl {
 font-size: 220px;
 font-weight: 600;
 color: #fff;
 margin-bottom: 6%;
}
.leading_box_ttl-mini {
 font-size: 90px;
 font-weight: 600;
 color: #fff;
 margin-bottom: 6%;
}
.leading_box_txt_top {
 font-size: 45px;
 font-weight: 600;
 color: #fff;
 margin-bottom: 6%
}
.contents_lead_top {
 font-size: 45px;
 font-weight: 600;
 line-height: 1.3
}
.leading_box_txt {
 font-size: 20px;
 font-weight: normal;
 color: #fff;
}
@media screen and (max-width: 1200px) {
 .leading_box_ttl {
  /* 文字最小値:40px　画面幅360px */
  font-size: 2.5rem;
  font-size: clamp(2.5rem, -1.786rem + 19.05vw, 12.5rem);
  min-height: 0vw;
 }
 .leading_box_ttl-mini {
  /* 文字最小値:40px　画面幅360px */
  font-size: 2.5rem;
  font-size: clamp(2.5rem, 1.161rem + 5.95vw, 5.625rem);
  min-height: 0vw;
 }
 .leading_box_txt_top {
  /* 文字最小値:22px　画面幅360px */
  font-size: 1.375rem;
  font-size: clamp(1.375rem, 0.759rem + 2.74vw, 2.813rem);
  min-height: 0vw
 }
 /* 文字最小値:22px　画面幅360px */
 .contents_lead_top {
  font-size: 1.375rem;
  font-size: clamp(1.375rem, 0.759rem + 2.74vw, 2.813rem);
  min-height: 0vw
 }
 .leading_box_txt {
  /* 文字最小値:16px　画面幅360px */
  font-size: 1rem;
  font-size: clamp(1rem, 0.893rem + 0.48vw, 1.25rem);
  min-height: 0vw
 }
}
@media screen and (max-width: 768px) {
 #mission.leading_box, #vision.leading_box, #andkids.leading_box {
  padding-top: 100px;
  padding-bottom: 100px
 }
 .leading_box_txt_top .sp_inline {
  display: none !important;
 }
}
.headline:after {
 content: '';
 position: absolute;
 left: 50%;
 bottom: -0.3rem;
 transform: translateX(-50%);
 width: 0%;
 height: 1px;
 background: #333;
 transition: all 2.0s;
}
.headline.isActive:after {
 width: 100%;
}
.textOnly_ttl {
 position: relative;
 font-size: 143px;
 color: #333;
 text-align: center;
}
@media screen and (min-width: 1201px) and (max-width: 1920px) {
 .textOnly_ttl {
  font-size: 7.4vw; /*143px;*/
 }
}
.textOnly_data dt {
 font-size: 45px;
 font-weight: 700;
 color: #333;
 line-height: 1.3
}
p.textOnly_data {
 font-size: 45px;
 font-weight: 700;
 color: #333;
 line-height: 1.3
}
.textOnly_data dd {
 font-size: 30px;
 color: #333;
}
#charm .textOnly_data dt {
 line-height: 1.3;
 margin-bottom: .5em
}
#charm .textOnly_data dd {
 font-size: 25px;
 color: #333;
 line-height: 1.4;
}
.textOnly_ttl_btm {
 font-size: 90px;
 font-weight: 700;
 color: #333;
 line-height: 1
}
.textOnly_lead {
 font-size: 42px;
 font-weight: 700;
 color: #333;
 line-height: 1.3
}
.textOnly_txt_btm {
 font-size: 16px;
 color: #333;
}
#benefits .sp_block {
 display: none
}
@media screen and (max-width: 1200px) {
 .textOnly_ttl {
  /* 文字最小値:30px　画面幅360px */
  font-size: 1.875rem;
  font-size: clamp(1.875rem, -1.152rem + 13.45vw, 8.938rem);
  min-height: 0vw
 }
 .textOnly_ttl_btm {
  /* 文字最小値:30px　画面幅360px */
  font-size: 1.875rem;
  font-size: clamp(1.875rem, 0.268rem + 7.14vw, 5.625rem);
  min-height: 0vw
 }
 .textOnly_data dt {
  /* 文字最小値:23px　画面幅360px */
  font-size: 1.483rem;
  font-size: clamp(1.438rem, 0.848rem + 2.62vw, 2.813rem);
  min-height: 0vw
 }
 #charm .textOnly_data dt, p.textOnly_data {
  /* 文字最小値:18px　画面幅360px */
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.402rem + 3.21vw, 2.813rem);
  min-height: 0vw
 }
 .textOnly_lead {
  /* 文字最小値:23px　画面幅360px */
  font-size: 1.483rem;
  font-size: clamp(1.438rem, 0.929rem + 2.26vw, 2.625rem);
  min-height: 0vw;
 }
}
@media screen and (max-width: 1024px) {
 .textOnly_data dd, #charm.textOnly_data dd {
  font-size: 23px;
 }
 #charm .textOnly_data .sp_inline {
  display: none
 }
 #charm .textOnly_data dd {
  font-size: 23px;
 }
}
@media screen and (max-width: 768px) {
 .textOnly_data dd, #charm.textOnly_data dd {
  font-size: 16px;
 }
 .textOnly_lead .sp_inline {
  display: none
 }
 #charm .textOnly_data dd {
  font-size: 16px;
 }
}
@media screen and (max-width: 599px) {
 #benefits .sp_block {
  display: block;
 }
 #benefits p.textOnly_data {
  margin-top: -8%;
  line-height: 1.5;
  letter-spacing: .15em
 }
}
.policyFive {
 background-color: #e6ecec;
}
.policyFive_heading {
 font-size: 30px;
 font-weight: 700;
 line-height: 1;
 color: #333;
 text-align: center;
 padding-top: 20%;
 padding-bottom: 7%;
}
.policyFive_txt {
 font-size: 15px;
 font-weight: normal;
 color: #333;
 text-align: center;
 letter-spacing: -.02em
}
.policyFive_pict {
 display: block;
 text-align: center;
 width: 58px;
 margin: -15% auto
}
.policyFive_circle {
 aspect-ratio: 1 / 1;
 background-color: #fff;
 border-radius: 50%;
 color: #fff;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
}
.policyFive_col {
 display: flex;
 justify-content: center;
 align-items: center;
 flex-wrap: wrap;
 margin: auto
}
.policyFive_col li {
 width: calc(33.333% - 7.29vw / 2);
 margin-left: 3.65vw !important;
}
.policyFive_col li:nth-child(n+4) {
 margin-top: 40px
}
.policyFive_col li:nth-child(1), .policyFive_col li:nth-child(4) {
 margin-left: 0 !important;
}
@media screen and (max-width: 1024px) {
 .policyFive_col {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: auto
 }
 .policyFive_col li {
  width: calc(50% - 7.29vw / 2);
  margin-top: 40px;
  margin-left: 0 !important;
 }
}
@media screen and (max-width: 599px) {
 .policyFive_col {
  justify-content: center;
  flex-direction: column;
 }
 .policyFive_col li {
  max-width: 350px;
  width: 100%;
  margin-left: 0px !important;
 }
 .policyFive_col li:nth-child(n+2) {
  margin-top: 15px
 }
 .policyFive_heading {
  /* 文字最小値:23px　画面幅360px */
  font-size: 1.438rem;
  font-size: clamp(1.438rem, 1.051rem + 1.72vw, 1.875rem);
  min-height: 0vw;
 }
 .policyFive_txt {
  /* 文字最小値:13px　画面幅360px */
  font-size: 0.813rem;
  font-size: clamp(0.813rem, 0.702rem + 0.49vw, 0.938rem);
  min-height: 0vw;
 }
}
@media screen and (max-width: 414px) {
 .policyFive_col li {
  width: 80%;
 }
}
/*!------------------------------------*\
 　 Extras　MENU
\*!------------------------------------*/
.threeMenu {
 width: 100%;
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
}
.threeMenu li {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 50%;
 overflow: hidden
}
.threeMenu li:last-child {
 width: 100%
}
.kasaneru {
 position: relative;
}
.kasaneru p {
 position: absolute;
 top: 50%;
 left: 50%;
 -ms-transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 color: #fff;
 font-size: 50px;
 font-weight: 700
}
.kasaneru img {
 transition: transform 0.6s ease
}
.kasaneru:hover img {
 transform: scale(1.1)
}
@media screen and (max-width: 1200px) {
 .kasaneru p {
  /* 文字最小値:18px　画面幅360px */
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.268rem + 3.81vw, 3.125rem);
  min-height: 0vw;
 }
}
/*!------------------------------------*\
 　 Extras　MENU -2
\*!------------------------------------*/
.fourMenu {
 width: 100%;
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
}
.fourMenu li {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 50%;
 overflow: hidden;
}
.kasaneru_2 {
 position: relative;
}
.kasaneru_2_txtarea_outer {
 position: absolute;
 top: 50%;
 left: 50%;
 -ms-transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 width: 100%;
}
.kasaneru_2_txtarea {
 max-width: 530px;
 margin: auto;
 color: #fff;
 font-size: 50px;
 font-weight: 700;
 line-height: 1.3;
 text-align: center
}
.kasaneru_2_txtarea .font_size_50 {
 font-size: 50px;
}
.kasaneru_2_txtarea .font_size_16 {
 font-size: 16px;
}
@media only screen and (min-width: 1281px) and (max-width: 1920px) {
 /* 文字最小値:26px　画面幅1281px */
 .kasaneru_2_txtarea .font_size_50 {
  font-size: 1.325rem;
  font-size: clamp(1.625rem, -1.382rem + 3.76vw, 3.125rem);
  min-height: 0vw;
 }
}
@media screen and (max-width: 1280px) {
 .fourMenu {
  flex-direction: column
 }
 .fourMenu li {
  width: 100%;
 }
 .kasaneru_2_txtarea .font_size_50 {
  /* 文字最小値:30px←50px　画面幅360px */
  font-size: 1.375rem;
  font-size: clamp(1.875rem, -3.15rem + 7.84vw, 3.125rem);
  min-height: 0vw;
 }
}
@media screen and (max-width: 1024px) {
 .kasaneru_2_txtarea .font_size_50 {
  /* 文字最小値:22px　画面幅360px */
  font-size: 1.375rem;
  font-size: clamp(1.375rem, 1.104rem + 1.2vw, 1.875rem);
  min-height: 0vw;
 }
}
@media screen and (max-width: 599px) {
 .kasaneru_2_txtarea .font_size_16 {
  font-size: 14px
 }
 .kasaneru_2_txtarea {
  width: 90%
 }
 .kasaneru_2 {
  aspect-ratio: 6/4
 }
 .kasaneru_2 img {
  width: 100%;
  height: 100%;
  object-fit: cover
 }
}
/* ==================================
	FOOTER
================================== */
.footer_contents {
 background-color: #023B92;
 padding-top: 40px;
 padding-bottom: 40px
}
.footer_info_copy {
 font-size: 12px;
 text-align: center;
 color: #fff;
}
@media screen and (max-width: 599px) {}
.spot_col {
 display: flex;
 justify-content: space-between;
 max-width: 1780px;
 margin: auto;
}
.spot_col_pict {
 width: 100%;
 height: auto;
 margin-left: calc(50% - 50vw);
 margin-right: 7%;
 flex: 1;
}
.spot_col_txt {
 width: 55%;
 padding: 6% 0%
}
.spot_col_txtsize {
 font-size: 40px
}
.benefits_col {
 display: flex;
 justify-content: space-between;
 max-width: 1780px;
 margin: auto;
}
.benefits_col_pict {
 width: 100%;
 height: auto;
 margin-left: calc(50% - 50vw);
 margin-right: 7%;
 flex: 1;
}
.benefits_col_txtarea {
 width: 65%;
 /*  padding: 6% 0% */
}
.benefits_col_txtarea .font_size_45 {
 border-bottom: 1px solid #333;
 padding-bottom: .1em;
}
@media screen and (min-width: 1025px) and (max-width: 1920px) {
 /* 文字最小値:23px　画面幅1025px */
 .spot_col_txtsize {
  font-size: 1.438rem;
  font-size: clamp(1.438rem, 0.221rem + 1.9vw, 2.5rem);
  min-height: 0vw;
 }
}
@media screen and (max-width: 1024px) {
 .spot_col {
  flex-direction: column;
 }
 .spot_col_pict {
  width: 100%;
  height: auto;
  margin-left: 0;
  margin-right: 0;
 }
 .spot_col_txt {
  width: 100%
 }
 .spot_col_txt .sp_inline {
  display: none
 }
 .spot_col_txtsize {
  /* 文字最小値:18px　画面幅360px */
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.956rem + 0.75vw, 1.438rem);
  min-height: 0vw;
 }
 .benefits_col {
  flex-direction: column;
 }
 .benefits_col_pict {
  width: 100%;
  height: auto;
  margin: 0 auto 10%;
  text-align: center;
  aspect-ratio: 16/9;
 }
 .benefits_col_pict img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* ↓画像位置変更　不要であれば消しても可 */
  object-position: 0% 17%;
 }
 .benefits_col_txtarea {
  width: 100%
 }
}
.facility_name {
 border-bottom: 1px solid #b3b3b3;
 padding-bottom: 0.5em;
 margin-bottom: 0.5em;
}
.facility_col_txt {
 text-align: center;
 color: #323232;
 display: flex;
 flex-direction: column;
 width: 500px;
 margin-right: 100px
}
.facility_col {
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.facility_col:not(:last-child) {
 margin-bottom: 50px
}
.facility_col li {
 display: flex;
 justify-content: space-between
}
.facility_col_pict {
 flex: 1;
 overflow: hidden
}
.facility_col_pict img {
 transition: transform .6s ease
}
.facility_col_pict:hover img {
 transform: scale(1.1)
}
@media screen and (max-width: 1200px) {
 .facility_col {
  align-items: flex-start;
  flex-direction: column-reverse;
 }
 .facility_col_txt {
  margin-top: 5%;
  margin-right: 0;
  padding: 1%;
  width: 100%;
  text-align: left;
  box-sizing: border-box;
 }
}
@media screen and (max-width: 599px) {
 .facility_detail {
  font-size: 14px;
  line-height: 1.6
 }
}
.table_1 .sp_block {
 display: none
}
.table_1 tr {
 border-bottom: 1px solid #023B92;
}
.table_1 th {
 font-size: 15px;
 vertical-align: middle;
 width: 20%;
 font-weight: normal
}
.table_1 td {
 font-weight: normal;
 font-size: 15px;
 vertical-align: middle;
 padding: 5% 1% 5% 3%;
 width: 80%;
}
.outline_col {
 display: flex;
 justify-content: space-between;
 box-sizing: border-box
}
.outline_col_table {
 width: 700px;
}
.outline_col_table .table_1 {
 width: 100%
}
.outline_col_pict img {
 width: 449px;
 margin: 0 auto 20px auto
}
@media screen and (max-width: 1024px) {
 .outline_col {
  flex-direction: column
 }
 .outline_col li {
  width: 100%
 }
 .table_1 td {
  font-weight: normal;
  font-size: 15px;
  vertical-align: middle;
  padding: 5% 1% 5% 10%;
  width: 80%;
  height: initial;
 }
 .outline_col_pict img {
  margin: 3em auto 20px;
  display: block;
  max-width: 100%;
  height: auto
 }
}
@media screen and (max-width: 768px) {
 .table_1 th {
  width: 25%
 }
 .table_1 td {
  width: 75%;
 }
}
.greeting_col {
 display: flex;
 justify-content: space-between;
 margin: auto;
}
.greeting_col_pict {
 width: 300px
}
.greeting_col_txt {
 flex: 1;
 margin-left: 5%
}
.step_col {
 display: flex;
 align-items: center;
 margin-bottom: 50px
}
.step_col_pict img {
 width: 150px;
 height: auto
}
.step_col_txt {
 margin-left: 50px
}
.step_col_txt dl .font_size_20 {
 font-weight: 700
}
@media screen and (max-width: 1024px) {
 .greeting_col {
  flex-direction: column;
 }
 .greeting_col_pict {
  width: 450px
 }
 .greeting_col_txt {
  flex: 1;
  margin-left: 0;
  margin-top: 8%
 }
}
@media screen and (max-width: 768px) {
 .greeting_col_pict {
  width: 100%
 }
 .step_col_pict img {
  width: 19.53vw;
  min-width: 110px;
  margin-bottom: 11%;
 }
}
.float_box {
 max-width: 1200px;
 overflow: hidden; /*float解除*/
}
.float_space {
 float: right;
 height: 14em
}
.float_img {
 float: right;
 clear: both;
 padding: 0 0 0 3em
}
.float_img img {
 width: 250px;
 height: auto
}
.float_img_txt1 {
 font-size: 18px;
}
.float_img_txt2 {
 font-size: 27px;
}
@media screen and (max-width:768px) {
 .float_space {
  float: none;
  height: auto
 }
 .float_img {
  float: none;
  clear: both;
  padding: 0 0 50px 0;
  text-align: center
 }
 .float_space {
  float: none;
  height: 0
 }
}
@media screen and (max-width: 599px) {
 .outline_col_pict img {
  width: 100% !important;
 }
 .step_col {
  flex-direction: column;
  align-items: center;
 }
 .step_col_txt {
  margin-left: 0px;
 }
 .step_col_txt .font_size_20 {
  text-align: center;
  margin-bottom: 8%
 }
}
@media screen and (max-width: 480px) {
 .table_1 .sp_block {
  display: block
 }
}
.map {
 max-width: 1200px;
 margin: auto
}
.map iframe {
 aspect-ratio: 200 / 50;
 width: 100%;
 height: auto;
}
@media screen and (max-width: 599px) {
 .map iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
 }
}
/*沿革 -----------*/
.dlBlock {
 position: relative;
}
.dlBlock:before {
 position: absolute;
 display: block;
 content: "";
 background: #fff;
 width: 2px;
 height: 100%;
}
.dlBlock .dlInner {
 display: flex;
 align-items: flex-start;
}
.dlBlock dt {
 font-size: 25px;
 color: #1355bb;
 position: relative;
 line-height: 1;
 box-sizing: border-box;
 word-break: break-all;
}
.dlInner dd {
 font-size: 16px;
 flex: 1;
 line-height: 1.3;
}
.dlInner_col_month {
 color: #1355bb;
 text-align: left;
 width: 10%;
 white-space: nowrap;
}
.dlInner_col_note {
 color: #323232;
 text-align: left;
 width: 80%;
}
.dlInner_col {
 display: flex;
 justify-content: flex-start;
}
.dlInner_col:not(:first-child) {
 margin-top: 1em
}
@media only screen and (min-width: 769px), print {
 .dlBlock:before {
  top: 12px;
  left: 116px;
 }
 .dlBlock .dlInner {
  padding-bottom: 90px;
 }
 .dlBlock dt {
  font-size: 26px;
 }
 .dlBlock dt:before {
  position: absolute;
  display: block;
  content: "";
  top: 0.4em;
  right: -30px;
  width: 12px;
  height: 12px;
  background: #1355bb; /*circle*/
  border-radius: 50%;
  transform: translateY(-50%);
 }
 .dlBlock dd {
  margin-left: 7%;
  font-size: 16px;
 }
}
@media only screen and (max-width: 768px) {
 .dlBlock:before {
  top: 12px;
  left: 5px;
 }
 .dlBlock dt:before {
  position: absolute;
  display: block;
  content: "";
  top: 0.4em;
  left: 0px;
  width: 12px;
  height: 12px;
  background: #1355bb; /*circle*/
  border-radius: 50%;
  transform: translateY(-50%);
 }
 .dlBlock .dlInner {
  display: flex;
  flex-direction: column;
 }
 .dlBlock dt {
  padding-left: 1.5em;
 }
 .dlBlock dd {
  padding-left: 2.5em;
  margin: 3em 0 3em 0;
 }
 .dlInner_col_month {
  width: 20%
 }
 .dlInner_col_note {
  width: 80%
 }
}
/*!------------------------------------*\
    INDEX
\*!------------------------------------*/
.contents_reverse {
 display: flex;
 flex-direction: column-reverse
}
.btn_rear_container .btn_rear_wrap {
 margin-left: auto;
}
.btn_rear_wrap {
 position: relative;
 max-width: 450px;
 min-height: 100px;
}
#contactTop .btn_rear_wrap {
 position: relative;
 max-width: 450px;
 min-height: 100px;
 margin: auto
}
a.btn_rear {
 background-color: rgba(255, 255, 255, 0.4);
 border: 1px solid #333;
 color: #333;
 display: block;
 width: 100%;
 text-decoration: none;
 font-weight: 600;
 font-size: 35px;
 letter-spacing: -.01em;
 padding: .5em 0 .5em .5em;
 box-sizing: border-box;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transition: all 0.5s;
}
.btn_rear_wrap::after {
 content: "";
 display: inline-block;
 width: 57px;
 height: 57px;
 background: url("../img/pages/circle_arrow_right@3x.png") no-repeat;
 background-size: contain;
 vertical-align: middle;
 position: absolute;
 top: 50%;
 right: 15px;
 transform: translateY(-50%);
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 /*! margin-left: 5em; */
 transition: all 0.3s;
}
.btn_rear_wrap:hover:after {
 right: 8px !important;
}
#numberTop a.btn_rear, #contactTop a.btn_rear {
 background-color: rgba(255, 255, 255, 0.4);
 border: 1px solid #333;
 color: #333;
 display: block;
 width: 100%;
 text-decoration: none;
 font-weight: 600;
 font-size: 25px;
 letter-spacing: -.01em;
 padding: .8em 2.5em .8em 1em;
 box-sizing: border-box;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transition: all 0.5s;
}
a.btn_rear:hover, #numberTop a.btn_rear:hover, #contactTop a.btn_rear:hover {
 /* background: #333;*/
 color: #333;
 display: block;
}
@media only screen and (max-width: 768px) {
 .btn_rear_container .btn_rear_wrap {
  margin-left: initial
 }
 .btn_rear_wrap {
  position: relative;
  max-width: 400px;
 }
 a.btn_rear, #numberTop a.btn_rear, #contactTop a.btn_rear {
  font-size: 23px;
 }
 .btn_rear_wrap::after {
  content: "";
  display: inline-block;
  width: 27px;
  height: 27px;
 }
}
@media only screen and (max-width: 599px) {
 .btn_rear_wrap, #contactTop .btn_rear_wrap {
  position: relative;
  max-width: 280px
 }
 a.btn_rear, #numberTop a.btn_rear {
  font-size: 18px;
 }
 #numberTop a.btn_rear, #contactTop a.btn_rear {
  font-size: 16px;
 }
}
.topNumber_col_wrap {
 background: url("../img/top/img_number.jpg")no-repeat center / cover
}
.topNumber_col {
 display: flex;
 align-items: center;
 justify-content: center;
 background-color: #fff;
 padding: 5em 3em 8em 7em;
 box-sizing: border-box;
}
.topNumber_col .topNumber_col_pict img {
 max-width: 100%;
 height: auto;
 display: block;
}
.topNumber_col .topNumber_col_pict {
 max-width: 400px;
}
.topNumber_col_txtarea {
 flex: 1;
 margin-left: 13%;
 padding-top: 5em
}
#numberTop .contents_ttl_detail {
 max-width: 770px
}
@media only screen and (max-width: 1366px) {
 .topNumber_col .topNumber_col_pict {
  max-width: 350px;
 }
 .topNumber_col {
  padding: 5em 3em 7em;
 }
}
@media only screen and (max-width: 1112px) {
 .topNumber_col .topNumber_col_pict {
  max-width: 23vw /*230px*/ ;
  margin-right: auto;
  position: relative;
  left: 4%
 }
 .topNumber_col {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 5em 1.5em;
  box-sizing: border-box;
 }
 .topNumber_col_txtarea {
  margin-left: 0;
  padding-top: 1.3em;
  max-width: 100%;
  width: 100%;
 }
}
@media only screen and (max-width: 599px) {
 #numberTop .space_top_btm_100 {
  padding-top: 50px;
  padding-bottom: 50px
 }
 .topNumber_col {
  padding: 2em 1.5em;
 }
 .topNumber_col .topNumber_col_pict {
  max-width: 28vw /*230px*/ ;
  left: 6%
 }
 #numberTop .contents_ttl_detail {
  font-size: 13px
 }
 .topNumber_col_txtarea .space_btm_50 {
  margin-bottom: 20px
 }
}
@media only screen and (max-width: 414px) {
 .topNumber_col .topNumber_col_pict {
  max-width: 35vw /*230px*/ ;
  left: 7%
 }
}
/*流れる文字 -----------*/
.flowing-ttl {
 display: flex;
 width: 100%;
 overflow: hidden;
}
.flowing-ttl__item {
 flex: 0 0 auto;
 white-space: nowrap;
 padding: 0 15px;
 font-size: 230px;
 font-weight: 600;
 line-height: 1
}
@media only screen and (max-width: 1024px) {
 .flowing-ttl__item {
  font-size: 150px;
 }
}
@media only screen and (max-width: 599px) {
 .flowing-ttl__item {
  font-size: 80px;
 }
}
.flowing-ttl__item:nth-child(odd) {
 animation: loop 40s linear -20s infinite;
}
.flowing-ttl__item:nth-child(even) {
 animation: loop2 40s linear infinite;
}
.flowing-ttl.reverse .flowing-ttl__item:nth-child(odd) {
 animation: loop 40s linear -20s infinite reverse;
}
.flowing-ttl.reverse .flowing-ttl__item:nth-child(even) {
 animation: loop2 40s linear infinite reverse;
}
@keyframes loop {
 0% {
  transform: translateX(100%);
 }
 to {
  transform: translateX(-100%);
 }
}
@keyframes loop2 {
 0% {
  transform: translateX(0);
 }
 to {
  transform: translateX(-200%);
 }
}
.concept_note {
 font-size: 23px;
 font-weight: 600;
 color: #fff;
}
.concept_note_lead {
 font-size: 38px;
 font-weight: 800
}
.concept_note_index {
 font-size: 38px;
 font-weight: 800
}
.concept_note li {
 margin-bottom: 50px
}
@media only screen and (max-width: 1024px) {
 .concept_note {
  font-size: 18px;
 }
 .concept_note_lead {
  font-size: 28px;
 }
 .concept_note_index {
  font-size: 28px;
 }
 .concept_note_lead .sp_inline {
  display: none
 }
}
@media only screen and (max-width: 768px) {
 .concept_note li {
  margin-bottom: 25px
 }
 .concept_note {
  font-size: 16px;
 }
 .concept_note_lead {
  font-size: 22px;
 }
 .concept_note_index {
  font-size: 22px;
 }
}
/*募集項目 -----------*/
.category_nav {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.category_nav li {
 width: calc(33.333% - 100px / 3);
 margin-bottom: 50px;
}
.category_nav li a {
 display: block;
 color: #323232;
 background-color: #fff;
 text-align: center;
 border-radius: 10px;
 font-size: 30px;
 padding: 4%;
 box-sizing: border-box;
}
.category_nav li a:hover {
 color: #fff !important;
 background-color: #323232 !important;
 text-decoration: none
}
@media screen and (max-width: 1024px) {
 .category_nav li a {
  font-size: 20px;
  padding: 4%;
  box-sizing: border-box;
 }
 .category_nav li {
  width: calc(33.333% - 60px / 3);
  margin-bottom: 30px;
 }
}
@media screen and (max-width: 599px) {
 .category_nav li a {
  font-size: 17px;
  padding: 5%;
  box-sizing: border-box;
 }
 .category_nav li {
  width: calc(50% - 20px / 2);
  margin-bottom: 30px;
 }
}
/*!------------------------------------*\
    INDEX　カルーセル
\*!------------------------------------*/
.swiper-slide .fit_wrap {
 border-radius: 10px;
 aspect-ratio: 7/4;
 overflow: hidden;
}
.fit_wrap img {
 object-fit: cover;
 width: 100%;
 height: 100%;
}
.news_list dt {
 margin-top: 1em
}
.news_list dt {
 font-size: 15px;
 color: #323232
}
.news_list dd {
 font-size: 20px;
 color: #323232
}
/* INDEX　カルーセル hover-----------*/
#indexSwiper .swiper-slide a {
 text-decoration: none !important;
 color: #323232
}
.swiper-slide img{width:100%}

@media (any-hover: hover) {
 .hov_more {
  display: block;
  position: relative;
  text-decoration: none;
 }
 .hov_more img {
  display: block;
  width: 100%;
 }
 .hov_more:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;
  background: #353535;
  opacity: 0;
  transition: 0.3s;
 }
 .hov_more:after {
  content: "READ MORE";
  display: block;
  color: #fff;
  line-height: 48px;
  width: 180px;
  border: solid 1px #fff;
  border-radius: 5px;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -1em;
  margin-left: -90px;
  opacity: 0;
  z-index: 3;
  transition: 0.3s;
  font-weight: bold;
  letter-spacing: 0.2em;
 }
 .hov_more:hover:before {
  opacity: 0.5;
 }
 .hov_more:hover:after {
  opacity: 1;
  margin-top: -0.5em;
 }
}
/*横スクロールスライダー -----------*/
.swiper-container-reverse {
 margin-top: 40px
}
@media only screen and (max-width: 1366px) {
 .swiper_container_wrapper {
  /*  padding-bottom: 18%;*/
 }
 .swiper-container-reverse {
  margin-top: 4%;
 }
}
.swiper-container {
 /* overflow: hidden;*/
}
.swiper-wrapper, .swiper-wrapper-reverse {
 transition-timing-function: linear !important; /*途中で止まるの防止*/
}
 .fit_img img {
 object-fit: cover;
 width: 100%;
 height: 100%;
}
@media only screen and (max-width: 768px) {}
@media only screen and (max-width: 599px) {
 .swiper_container_wrapper.space_top_btm_170 {
  padding-top: 50px;
  padding-bottom: 50px
 }
}
/*recruit ３つの円 -----------*/
.concept_contents_inner {
 padding-top: 300px;
 padding-bottom: 1100px
}
@media screen and (max-width: 1024px) {
 .concept_contents_inner {
  padding-top: 200px;
  padding-bottom: 900px
 }
}
@media screen and (max-width: 810px) {
 .concept_contents_inner {
  padding-bottom: 100vw
 }
}
@media screen and (max-width: 599px) {
 .concept_contents_inner {
  padding-bottom: 150vw
 }
}
.circle_wrap {
 position: absolute;
 width: 965px;
 height: 800px;
 position: absolute;
 right: 0;
 left: 0;
 margin: 200px auto 0;
}
.circle_wrap li {
 position: absolute
}
.circle_wrap li:first-child {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 margin: 0 auto
}
.circle_wrap li:nth-child(2) {
 position: absolute;
 top: -180px; /*青*/
 right: 0;
 bottom: 0;
 left: 0;
 margin: 0 auto;
}
.circle_wrap li:nth-child(3) {
 position: absolute;
 bottom: 150px; /*緑*/
 left: 0px;
 margin: auto 0;
}
.circle_wrap li:nth-child(4) {
 position: absolute;
 bottom: 150px; /*黄*/
 right: 0px;
 margin: auto 0;
}
.circle_wrap li:first-child img {
 width: 620px;
 height: auto;
 display: block;
 margin: auto
}
.circle_wrap li:not(:first-child) {
 width: 350px;
 height: auto;
 display: block;
 margin: auto
}
@media only screen and (max-width: 1200px) {
 .circle_wrap {
  margin: 18% auto 0;
 }
 .circle_wrap li:nth-child(2) {
  position: absolute;
  top: -25%; /*青*/
 }
 .circle_wrap li:nth-child(3) {
  position: absolute;
  bottom: 26%; /*緑*/
  left: 7%
 }
 .circle_wrap li:nth-child(4) {
  position: absolute;
  bottom: 26%; /*黄*/
  right: 7%;
 }
 .circle_wrap {
  max-width: 100%;
  width: 95%;
  height: auto;
  aspect-ratio: 193/160;
 }
 .circle_wrap li:first-child img {
  width: 51.67vw /*from 620px*/
 }
 .circle_wrap li:not(:first-child) {
  width: 29.17vw /*from 350px*/
 }
}
@media only screen and (max-width: 599px) {
 .circle_wrap {
  width: 100%;
  margin: 30% auto 0;
 }
 .circle_wrap li:nth-child(2) {
  position: absolute;
  top: -25%; /*青*/
 }
 .circle_wrap li:nth-child(3), .circle_wrap li:nth-child(4) {
  position: absolute;
  bottom: -30%; /*緑*/
 }
 .circle_wrap li:nth-child(3) {
  position: absolute;
  bottom: -30%; /*緑*/
  left: 0%
 }
 .circle_wrap li:nth-child(4) {
  position: absolute;
  bottom: -30%; /*黄*/
  right: 0%;
 }
 .circle_wrap li:first-child img {
  width: 100%
 }
 .circle_wrap li:not(:first-child) {
  width: 41.74vw /*from 250px*/
 }
}
/*recruit パララックス -----------*/
.parallax-sticky .parallax-container {
 position: relative;
 z-index: 1;
}
.parallax-sticky .parallax-bg-wrap {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 pointer-events: none;
}
.parallax-sticky .parallax-bg-wrap .parallax-bg {
 background: url("../img/recruit/img02.jpg") no-repeat center center/cover;
 width: 100%;
 height: 100vh;
 position: sticky;
 top: 0;
 z-index: -1;
}
@media screen and (max-width: 599px) {
 .parallax-sticky .parallax-bg-wrap .parallax-bg {
  background-position-x: 65%
 }
}
/*!------------------------------------*\
 　 NAV
\*!------------------------------------*/
.header_logo_wrap {
 display: flex !important;
 align-items: end;
}
.header_wrap {
 width: 100%;
 display: flex !important;
 align-items: center;
 height: 100%;
}
.gnav_menu_pc {
 display: none
}
.header_logo {
 max-width: 276px;
 margin-left: 3.91vw; /*75px*/
}
@media screen and (max-width: 1024px) {
 .header_logo {
  max-width: 170px;
  margin: 0 5%
}
 .header_mark {
  max-width: 160px;
 }
}

/*.header_mark {
 display: none;
}*/
.header_logo img {
 max-width: 100%;
 height: auto;
}
@media screen and (min-width: 1025px) {
 .header_mark {
  display: block;
  max-width: 210px;
  margin-left: 1.6em;
 }
 .header_logo a {
  display: block;
  max-width: 276px;
  margin-right: auto
 }
 .header_logo img {
  max-width: 100%;
  height: auto
 }
 .header_inner {
  /*height: 90px;*/
  border-bottom: 5px solid #023B92;
 }
 .header_wrap {
  width: 100%;
  display: flex;
  align-items: center;
  height: 100%;
   	height: 90px 
 }
 .header_wrap nav {
  margin-left: auto;
 }
 .gnav_menu_pc {
  display: flex;
  align-items: center;
  margin-right: 3.65vw; /*70px*/
 }
 .gnav_menu_pc .gnav_menu_item a {
  color: #023B92;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  display: block;
  text-decoration: none;
  position: relative;
  padding-left: 1.5em;
  transition: 0.3s all
 }
 .gnav_menu_pc .gnav_menu_item:not(:last-child) a {
  margin-right: 50px
 }
 .gnav_menu_pc .gnav_menu_item a::before {
  position: absolute;
  content: "";
  top: 39%;
  left: 0;
  width: 8px;
  height: 8px;
  border-top: 3px solid #023B92;
  border-right: 3px solid #023B92;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
 }
 .gnav_menu_pc .gnav_menu_item:last-child a::before {
  display: none !important;
 }
 .gnav_menu_pc .gnav_menu_item a:hover {
  opacity: 0.5
 }
 .gnav_menu_pc .gnav_menu_item:last-child a {
  display: flex;
  align-items: center;
 }
 a.inquiry_topBtn {
  color: #fff !important;
  text-decoration: none;
  width: 180px;
  height: 55px;
  background: #023B92;
  padding-left: 50px !important;
  box-sizing: border-box;
  position: relative;
  transition-duration: 0.3s;
  border-radius: 5px
 }
 a.inquiry_topBtn span.icon_mail {
  content: '';
  width: 22px;
  height: 22px;
  position: absolute;
  top: 35%;
  left: 15px;
  background-image: url("../img/common/mail.svg");
  background-size: contain;
  background-repeat: no-repeat;
 }
}
/*!------------------------------------*\
 　 Animation/cssーCUSTOM
\*!------------------------------------*/
.curtain-photo-wrap {
 width: 100%;
 height: auto;
 /*! margin-top: 200px; */
 aspect-ratio: 96/35
}
.curtain-photo-inner {
 height: 100%;
 background-size: cover;
 background-position: center;
 background-repeat: no-repeat;
}
.curtain-photo .curtain-photo-inner.business-bg {
 background-image: url('../img/business/img01.jpg');
}
.curtain-photo .curtain-photo-inner.about-bg {
 background-image: url('../img/aboutinfinic/img01.jpg');
}
.curtain-photo .curtain-photo-inner.company-bg {
 background-image: url('../img/company/img01.jpg');
}
.curtain-photo .curtain-photo-inner.recruit-bg {
 background-image: url('../img/recruit/img01.jpg');
}
.animation-curtain {
 position: relative;
 overflow: hidden;
}
.animation-curtain::before {
 content: '';
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 1;
 width: 100%;
 height: 100%;
 background: rgb(255, 255, 255);
 transform: translatex(-100%);
}
@keyframes showMask {
 0% {
  transform: translateX(-100%);
 }
 45%, 50% {
  transform: translate(0%);
 }
 100% {
  transform: translateX(100%);
 }
}
.animation-curtain.show::before {
 animation: showMask 1s forwards;
}
.animation-curtain .curtain-photo-inner {
 opacity: 0;
}
@keyframes showElements {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
.animation-curtain.show .curtain-photo-inner {
 animation: showElements .01s .6s forwards;
}
/* -- テキストアニメーション --*/
.curtain3 {
 position: relative;
}
.curtain3 h2 {
 clip-path: inset(0 100% 0 0);
}
.curtain3.is-loaded h2 {
 transition: clip-path 0.8s cubic-bezier(0.77, 0, 0.175, 1) 0.5s;
 clip-path: inset(0 0 0 0);
}
/*　index パララックス -----------*/
.stc_container {
 background: #fff;
 position: -webkit-sticky;
 position: sticky;
 top: 0;
}
.stc_01 {
 z-index: 100;
}
.stc_02 {
 z-index: 150;
}
.stc_03 {
 z-index: 200;
}
.stc_04 {
 z-index: 250;
}
.stc_05 {
 z-index: 300;
}
.stc_06 {
 z-index: 350;
}
.img-slide {
 opacity: 0;
}
/*　COMPANY画像スライドアニメーション -----------*/
.img-animation-slide {
 animation: img-opacity 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
 overflow: hidden;
 position: relative;
}
.img-animation-slide::before {
 animation: img-animation-slide 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
 background: #fff;
 content: '';
 inset: 0;
 pointer-events: none;
 position: absolute;
 z-index: 1;
}
@keyframes img-opacity {
 100% {
  opacity: 1;
 }
}
@keyframes img-animation-slide {
 100% {
  transform: translateX(100%);
 }
}
#contactTop.space_top_btm_170 {
 padding-top: 0
}
/*　オーバーラップ -----------*/
/*紙芝居新しい方法*/
.overlap_wrap {
 position: relative
}
.overlap_oya {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 position: -webkit-sticky;
 position: sticky;
 top: 0;
}
.overlap-one {
 background: url("../img/aboutinfinic/img02.jpg")no-repeat center / cover;
 z-index: 100;
 height: 185vh;
}
.overlap-one-inner {
 z-index: 200;
 height: 185vh;
 position: absolute;
}
.overlap-two {
 background: url("../img/aboutinfinic/img03.jpg")no-repeat center / cover;
 z-index: 300;
 height: 230vh;
}
@media screen and (max-width: 1600px) {
 .overlap-two {
  background-position-x: 70%
 }
}
@media screen and (max-width: 1024px) {
 .overlap-one {
  height: 185vh;
 }
 .overlap-one-inner {
  height: 185vh;
 }
 .overlap-two {
  height: 200vh;
  background-position-x: 70%
 }
}
@media screen and (max-width: 834px) {
 .overlap-one {
  height: 165vh;
 }
 .overlap-one-inner {
  height: 165vh;
 }
 .overlap-two {
  height: 180vh;
 }
}
@media screen and (max-width: 599px) {
 .overlap-one {
  height: 145vh;
 }
 .overlap-one-inner {
  height: 145vh;
 }
 .overlap-two {
  height: 160vh;
 }
}
.overlap_fin {
 display: inline-block;
 justify-content: center;
 align-items: center;
 width: 100%;
 position: -webkit-sticky;
 position: sticky;
 top: 0;
 z-index: 500;
}
@supports (position: sticky) or (position: -webkit-sticky) {
 .overlap-one-inner {
  background: none;
 }
 .overlap-two-inner {
  background: none;
 }
}
#significance_section {
 background-color: #333;
}
.gs_white_font {
 color: #fff;
}
/*iwamotoshoukai ===========================*/
/*!------------------------------------*\
   お問い合わせボタン
\*!------------------------------------*/
.inquiry_ttl {
 color: #023B92;
 font-weight: 600;
 font-size: 28px;
 text-align: center;
 margin-bottom: .15em;
}
#inquiry .sp_block {
 display: none
}
a.inquiry_btn {
 display: flex;
 justify-content: center;
 align-items: center;
 color: #fff;
 text-align: center;
 text-decoration: none;
 width: 550px;
 height: 110px;
 padding-left: 2.8em;
 background: #023B92;
 background: linear-gradient(180deg, rgba(2, 59, 146, 1) 0%, rgba(47, 146, 226, 1) 100%);
 border-radius: 10px;
 border: 1px solid #023B92;
 box-sizing: border-box;
 position: relative;
 transition-duration: 0.3s;
}
a.inquiry_btn::before {
 content: '';
 width: 35px;
 height: 35px;
 position: absolute;
 top: 65%;
 /*left: 59px;*/
 left: 22%;
 margin-top: -30px;
 background-image: url("../img/common/telephone-fill.svg");
 background-size: contain;
 background-repeat: no-repeat;
}
a.inquiry_btn.icon_mail::before {
 content: '';
 width: 35px;
 height: 35px;
 position: absolute;
 top: 65%;
 left: 17%;
 margin-top: -30px;
 background-image: url("../img/common/mail.svg");
 background-size: contain;
 background-repeat: no-repeat;
}
a.inquiry_btn .inquiry_btn_txt-1 {
 font-size: 16px;
 font-weight: 600;
 display: block !important;
 text-align: left
}
a.inquiry_btn .inquiry_btn_txt-2 {
 font-size: 24px;
 font-weight: 600;
 display: block
}
a.inquiry_btn .inquiry_btn_number {
 font-size: 32px;
 display: block !important;
 line-height: 1;
}
a.inquiry_btn:hover {
 background: #135CB0;
 background: linear-gradient(180deg, rgba(19, 92, 176, 1) 0%, rgba(47, 146, 226, 1) 100%);
}

.inquiry_btn_col {
 display: flex;
 justify-content: space-between;
 align-items: center
}
.inquiry_btn_col {}
.inquiry .sp_block {
 display: none
}
@media screen and (max-width:1112px) {
 .inquiry_btn_col {
  justify-content: center;
  align-items: center
 }
 a.inquiry_btn {
  margin: auto;
  width: 440px;
  height: 110px;
  padding-left: 2.8em;
 }
 .inquiry_btn_col div {
  width: 100%;
 }
}
@media screen and (max-width:1024px) {
 .inquiry_btn_col {
  flex-direction: column;
  align-items: center;
 }
 a.inquiry_btn {
  margin-bottom: 2em
 }
a.inquiry_btn::before {
 left: 15%;
}
a.inquiry_btn.icon_mail::before {
 left: 10%;
}
	
	
	
}
@media screen and (max-width: 599px) {
 #inquiry .sp_block {
  display: block
 }
 a.inquiry_btn {
  max-width: 100%;
  height: 110px;
  padding-left: 2.8em;
 }
 .inquiry_btn_col div {
  width: 100%;
 }
 a.inquiry_btn::before {
  left: 45px;
 }
 a.inquiry_btn.icon_mail::before {
  left: 40px;
 }
 .inquiry .sp_block {
  display: block
 }
}
@media screen and (max-width: 414px) {
 a.inquiry_btn::before {
  left: 20px;
  width: 30px;
  height: 30px;
 }
 a.inquiry_btn.icon_mail::before {
  top: 74px;
  left: 20px;
  width: 30px;
  height: 30px;
 }
 a.inquiry_btn .inquiry_btn_txt-1 {
  font-size: 16px;
 }
 a.inquiry_btn .inquiry_btn_number {
  font-size: 28px;
 }
 a.inquiry_btn .inquiry_btn_txt-2 {
  font-size: 20px;
 }
}
/*!------------------------------------*\
   共通
\*!------------------------------------*/
.contentsTtl {
 color: #023B92;
 font-weight: 600;
 font-size: 25px;
 margin-bottom: 1em
}
.center_txt {
 text-align: center
}
.page_ttlTop_ja {
 color: #023B92;
 font-weight: 600;
 /*font-size: 28px;*/
 /*font-size: 48px;*/
 display: block
}
.page_ttlTop_en {
 color: #023B92;
 font-weight: normal;
 /*font-size: 15px;*/
 /*font-size: 25px;*/
 display: block
}
.page_ttlTop_en {
 display: flex;
 align-items: center;
}
.page_ttlTop_en::before {
 content: '';
 display: block;
 width: 20px;
 height: 1px;
 background: #053D69;
 margin-right: .5em;
}
/*!------------------------------------*\
   会社概要
\*!------------------------------------*/
.outline_contents_inner {
 position: relative
}
.outline_pict {
 position: absolute;
 top: 20px;
 left: 650px
}
.outline_pict img {
 max-width: 350px;
 height: auto
}
.timeline {
 list-style: none;
}
.timeline > li {
 margin-bottom: 60px;
}
.timeline-content-calendar {
 color: #023B92;
 font-weight: 800;
 font-size: 19px;
 margin-top: 15px;
}
.timeline > li {
 overflow: hidden;
 margin: 0;
 position: relative;
}
.timeline-date {
 width: 7px;
 float: left;
 margin-top: 20px;
}
.timeline-content {
 width: 75%;
 float: left;
 border-left: 2px #023B92 solid;
 padding-left: 50px;
 padding-bottom: 40px;
}
.timeline-content:before {
 content: '';
 width: 12px;
 height: 12px;
 background: #023B92;
 position: absolute;
 left: 2px;
 top: 30px;
 border-radius: 100%;
}
@media screen and (max-width: 1024px) {
 .outline_contents_inner {
  position: initial;
  display: flex;
  flex-direction: column;
 }
 .outline_pict {
  position: initial;
  margin: 2em 0 0 1%;
  aspect-ratio: 16/9;
 }
 .outline_pict img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
 }
}
/*!------------------------------------*\
   導入の流れ
\*!------------------------------------*/
.flow_num {
 color: #023B92;
 text-align: center;
 border-right: 1px solid #023B92;
 padding: 1.5em 1.5em 1.5em 2em
}
.flow_num .num_sup {
 font-weight: 800;
 font-size: 24px;
 line-height: 1
}
.flow_num .num {
 font-weight: 700;
 font-size: 48px;
 line-height: 1
}
.flow_num span {
 display: block
}
.flow_txt {
 color: #353535;
 margin-top: -20px;
 margin-left: 2.5em;
 max-width: 480px
}
.flow_txt h4 {
 font-weight: 700;
 font-size: 19px;
}
.flow_txt p {
 font-size: 16px;
}
.flowBox_col {
 display: flex;
 align-items: center;
 background-color: #fff;
 box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
 height: 200px;
 margin-bottom: 4.5em;
 position: relative;
}
.flowBox_col::after {
 position: absolute;
 top: 108%;
 left: 50%;
 transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);
 content: "";
 display: inline-block;
 width: 18px;
 height: 18px;
 margin: 0 10px;
 border-bottom: 6px solid #023B92;
 border-right: 6px solid #023B92;
 transform: rotate(45deg);
}
.flow_pict {
 margin-left: auto;
 width: 340px
}
.flow_pict img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.flowBox_col:last-child::after {
 display: none
}
@media screen and (max-width: 1024px) {
 .flowBox_col {
  display: flex;
  align-items: center;
  justify-content: start;
  flex-direction: column;
  height: auto;
  margin-bottom: 4.5em;
  position: relative;
  background: #fff !important;
  padding: 1.5em
 }
 .flow_pict {
  margin: 0 auto;
  width: 100%
 }
 .flow_num {
  border-right: none;
  border-bottom: 1px solid #023B92;
  padding: 1.5em
 }
 .flow_num .num_sup {
  font-size: 24px;
  line-height: 1
 }
 .flow_num .num {
  font-size: 48px;
 }
 .flow_txt {
  margin-top: 1em;
  margin-left: 0;
  max-width: 100%;
  text-align: center;
 }
 .flow_txt h4 {
  font-size: 19px;
 }
 .flow_txt p {
  font-size: 16px;
  margin-bottom: 1em;
 }
 .flowBox_col::after {
  position: absolute;
  top: 103%;
  left: 46%;
  width: 18px;
  height: 18px;
  margin: 0 10px;
  border-bottom: 6px solid #023B92;
  border-right: 6px solid #023B92;
  transform: rotate(45deg);
 }
}
/*!------------------------------------*\
  　MV　Slider
\*!------------------------------------*/
.prospects_col {
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 70px 0
}
.prospects_col_pict {
 width: 500px;
 margin-right: 3em
}
.prospects_col_txt {
 flex: 1;
 color: #fff;
 font-size: 37px
}
.prospects_contents {
 /*background: url("../img/introduce/bg_geometry.png")no-repeat center / auto;*/
}
/*.prospects_contents {
 background: url("../img/introduce/bg_geometry.png")no-repeat center / auto;
}*/
@media screen and (max-width: 1024px) {
 .prospects_col {
  display: flex;
  flex-direction: column;
 }
 .prospects_col_pict {
  margin: 0 auto 1em;
  width: 75%
 }
 .prospects_col_txt {
  font-size: 23px
 }
}
.prospectsTop_col {
 display: flex;
 justify-content: space-between;
 padding: 70px 0
}


#prospects_col {
 background: url("../img/top/bg_2.png")no-repeat bottom / auto;
 background-size: cover;
 padding-top: 12em;
 padding-bottom: 8em;
 position: relative;z-index:1
}

#prospects_col_img {
 width: 820px;
	margin: 0 0 0 auto;
 position: relative
}
#prospects_col_text_wrapper {
 max-width: 420px;
 padding: 20px 40px;
 background: #fff;
 transform: skewX(-12deg);
 position: absolute;
 top: 25%;
 left: -50%
}
#prospects_col_text {
 transform: skewX(12deg);
 box-sizing: border-box
}

@media (max-width: 1024px) {
#prospects_col_img {
 width: 500px;
}
#prospects_col_text_wrapper {
 left: -70%
}
}

@media screen and (max-width: 768px) {
#prospects_col {
 padding-top: 5em;
 padding-bottom: 8em;
}
#prospects_col_text_wrapper {
 padding: 20px;
 transform: skewX(0deg);
 position: relative;
 top: auto;
 left: auto
}
#prospects_col_text {
 transform: skewX(0deg)
}
	
#prospects_col_img {
 width: 100%;
 margin: 0 auto;
}
}


.prospectsTop_col_pict {
 width: 420px;
 margin-left: 3em
}
.prospectsTop_col_txt {
 flex: 1;
 color: #023B92;
 font-size: 16px;
 display: flex;
 flex-direction: column
}
.prospectsTop_col_txt_link {
 margin-top: auto
}
.prospectsTop_col_txt_link a:hover {
 text-decoration: none !important;
}
.prospectsTop_col_txt_ttl {
 font-size: 27px;
 margin-bottom: .5em
}
@media screen and (max-width: 1024px) {
 .prospectsTop_col {
  display: flex;
  flex-direction: column;
 }
 .prospectsTop_col_pict {
  margin: 3em auto 0;
  width: 100%
 }
}
a.txtBtn_arrow {
 text-decoration: underline;
 color: #023B92;
 font-size: 18px
}
.dli-arrow-right {
 display: block;
 vertical-align: middle;
 line-height: 1;
 position: relative;
 width: .8em;
 height: 1px;
 background: currentColor;
 color: #023B92 !important;
 display: inline-block;
 line-height: 1;
 position: relative;
}
.dli-arrow-right::after {
 content: '';
 width: 0.5em;
 height: 0.5em;
 border: 1px solid currentColor;
 border-left: 0;
 border-bottom: 0;
 transform: rotate(45deg);
 transform-origin: top right;
 position: absolute;
 top: 50%;
 right: -0.05em;
 box-sizing: border-box;
}
a.txtBtn_arrow:hover {
 text-dcoration: none;
}
.bnrTop_col {
 display: flex;
 justify-content:space-between
}
.bnrTop_col li {
 width: calc((100% - 20px) / 2)
}
@media screen and (max-width: 768px) {
 .bnrTop_col {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
 }
 .bnrTop_col li {
  width: 100%
 }
 .bnrTop_col li:last-child {
  margin-top: 2em
 }
}
/*.bnrTop_col {
 display: flex;
 justify-content: space-between
}
.bnrTop_col li {
 width: calc((100% - 20px) / 2)
}
@media screen and (max-width: 768px) {
 .bnrTop_col {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
 }
 .bnrTop_col li {
  width: 100%
 }
 .bnrTop_col li:last-child {
  margin-top: 2em
 }
}*/
/*!------------------------------------*\
    Carousel_Slider
\*!------------------------------------*/

.carousel_contents {
 background: url("../img/top/bg_1.png")repeat top / auto;
 padding-top: 12em;
	padding-bottom: 8em;
 position: relative;z-index:1
}

#carousel_contents_triangle {
 max-width: 100vw;
 position: absolute;
 top: -44%;
 right: -12%;
 z-index: 0;
 box-sizing: border-box
}
#carousel_contents_triangle img {
 max-width: 590px;
 position: relative;
 top: 0;
 right: 0
}

.carousel_contents_link {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-top: 6em
}
.carousel_contents_link .prospectsTop_col_txt_link a, .carousel_contents_link .dli-arrow-right {
 color: #fff !important;
}
.carousel_contents_link .prospectsTop_col_txt_link a:hover, .dli-arrow-right {
 text-decoration: none
}
#slider2.swiper {
 overflow: visible !important; /* ← ここが重要！ */
 margin: auto
}
#slider2 .swiper-slide {
 overflow: visible !important; /* 念のため */
}
#slider2 .swiper-container {
 width: 100%;
 /*   max-width: 1000px!important; */
 margin: 0 auto;
}
#slider2 .swiper-slide {
 display: flex;
 justify-content: center;
 align-items: flex-start;
}
/* 前へ次への矢印カスタマイズ */
#slider2 .swiper-button-prev, #slider2 .swiper-button-next {
 height: 50px;
 width: 50px;
}
/* 前へ次への矢印カスタマイズ */
#slider2 .swiper-button-prev::after, #slider2 .swiper-button-next::after {
 background-repeat: no-repeat;
 background-size: contain;
 content: "";
 height: 50px;
 margin: auto;
 width: 50px;
}
/* 前への矢印カスタマイズ */
#slider2 .swiper-button-prev::after {
 background-image: url("../img/top/btn_arrow_blue.svg");
 transform: scaleX(-1);
}
/* 次への矢印カスタマイズ */
#slider2 .swiper-button-next::after {
 background-image: url("../img/top/btn_arrow_blue.svg");
}
.carousel_card {
 background-color: #fff;
 width: 90% !important;
 box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
 padding-left: 1em;
 padding-right: 1em;
 padding-bottom: .5em;
 text-align: center;
 position: relative;
 /*min-height: 170px;*/
 transform: skewX(-12deg);
}
.carousel_card_inner {
 transform: skewX(12deg);
 padding: 35% 0 0 0
}

.product-image {
 width: 90%;
 border-radius: 8px;
 position: absolute;
 top: -30%;
 left: 50%;
 transform: translateX(-50%);
}
.product-image_vertical {
 width: 90%;
 border-radius: 8px;
 position: absolute;
 top: -70%;
 left: 50%;
 transform: translateX(-50%);
}
.carousel_item_txtarea {
 color: #353535;
 padding-left: 2em;
 padding-right: 2em;
 padding-bottom: .5em;
 max-width: 600px;
 margin: auto;
 box-sizing: border-box !important;
}
.carousel_item_txtarea dt {
 font-size: 17px;
 font-weight: 900;
 text-align: center;
 margin-bottom: 1.3em;
}
.carousel_item_txtarea dd {
 color: #353535;
 font-size: 17px;
 text-align: left
}

@media (max-width: 1920px) {
 .carousel_contents {
  padding-top: 7em;
  padding-bottom: 21em;
 }
}

@media (max-width: 1650px) {
 #carousel_contents_triangle {
  right: -15%;
}
}
@media (max-width: 1250px) {
 #carousel_contents_triangle {
  right: -18%;
}
}
@media (max-width: 1050px) {
 #carousel_contents_triangle {
  top: -50%;
  right: -22%;
}
}
@media (max-width: 1024px) {
 .carousel_card {
  padding-left: 0;
  padding-right: 0
 }
}
@media (max-width: 850px) {
 #carousel_contents_triangle {
  right: -30%;
}
}
@media (max-width: 768px) {
.carousel_card_inner {
 padding: 40% 0 0 0
}
}
@media (max-width: 650px) {
.carousel_contents {
 padding-top: 5em;
 padding-bottom: 5em;
}
.carousel_card {
 width: 100%!important
}
 #carousel_contents_triangle {
  right: -40%;
}
.product-image {
 top: -15%;
}
.product-image_vertical {
 top: -45%;
}
}
/*@media (max-width: 414px) {
 .carousel_card {
  padding-top: 60px;
  height: 380px
 }
}
@media (min-width: 415px) {
 .carousel_card {
  padding-top: 80px;
  height: 310px
 }
}
@media (min-width: 480px) {
 .carousel_card {
  padding-top: 100px;
  height: 300px
 }
}
@media (min-width: 580px) {
 .carousel_card {
  padding-top: 140px;
  height: 200px
 }
}
@media (min-width: 1025px) {
 .carousel_card {
  padding-top: 170px;
  height: 200px
 }
}
@media (min-width: 1201px) {
 .carousel_card {
  padding-top: 115px;
  min-height: 280px
 }
}
@media (min-width: 1280px) {
 .carousel_card {
  padding-top: 130px;
  min-height: 250px
 }
}
@media (min-width: 1365px) {
 .carousel_card {
  padding-top: 140px;
  min-height: 230px
 }
}
@media (min-width: 1500px) {
 .carousel_card {
  padding-top: 170px;
  min-height: 170px
 }
}*/
@media (min-width: 1921px) {
 .carousel_contents {
  background: url("../img/top/bg_1.png")no-repeat top / cover;
  /*padding-top: 13em;
  padding-bottom: 8em*/
  padding-top: 22em;
  padding-bottom: 21em;
  overflow: hidden
 }
.carousel_card_inner {
    padding: 40% 0 0 0;
}
}
/*!------------------------------------*\
   products
\*!------------------------------------*/

.itemTop_col_single{padding:3% 5%;background:#F1F9FF;box-shadow: 0px 9px 2px 0px #e6e6e6;box-sizing:border-box}


.itemTop_col {
 display:flex;
 align-items: center;
 justify-content:space-between;
}

.itemTop_col_pict {
 max-width: 376px;
 margin-right: 2em
}
.itemTop_col_txt {
 flex: 1;
 color: #353535;
 font-weight: normal;
 font-size: 18px !important;
 display: flex;
 flex-direction: column
}
.itemTop_col_txt_link {
 margin-top: auto
}
.itemTop_col_txt_link a:hover {
 text-decoration: none !important;
}
.itemTop_col_txt_ttl {
 font-size: 27px;
 margin-bottom: .5em
}
@media screen and (max-width: 1024px) {
 .itemTop_col {
  display: flex;
  flex-direction: column;
 }
 .itemTop_col_pict {
  margin: 0 auto 1em;
  width: 100%
 }
}
.itemTop_col_ttl {
 color: #023B92;
 font-size: 22px;
 font-weight: 600;
 position: relative;
}
.itemTop_col_ttl::before {
 content: "";
 display: inline-block;
 width: 0;
 height: 0;
 margin: 0 0.3em 0 0;
 border: 7px solid transparent;
 border-right: 0 solid transparent;
 border-left: 10px solid #023B92;
}

/*.product-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
 gap: 50px 40px;
 max-width: 1000px;
 margin: 0 auto;
}
.product-item {
 background: #e5e5e5;
 padding: 10px;
 text-align: center;
 color: #023B92;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 100%;
 background:#F1F9FF;
 box-shadow: 0px 9px 2px 0px #e6e6e6;
 box-sizing:border-box
}
.product-item img {
 width: 100%;
 height: auto;
 display: block;
 margin-bottom: 10px;
 border-radius: 4px;
}*/

ul.product_item {
 display: flex;flex-wrap: wrap;flex-direction:row;justify-content: space-between;
 max-width: 1200px;
 margin: 0 auto;
}
ul.product_item li {
 width: 48%;
 font-size: 20px;
 color: #023B92;
 text-align: center;
 margin:0 0 40px 0;
 padding: 20px 10px;
 display: flex;
 flex-direction: column;
 background:#F1F9FF;
 box-shadow: 0px 9px 2px 0px #e6e6e6;
 box-sizing:border-box
}
ul.product_item li img {
 width: 100%;margin:auto;
 height: auto;
 display: block;
 margin-bottom: 10px;
 border-radius: 4px;
}


.product_item1_1{max-width:265px}
.product_item1_2{max-width:225px}
.product_item1_3{max-width:404px}
.product_item1_4{max-width:363px}

.product_item2_1{max-width:265px}
.product_item2_2{max-width:145px}
.product_item2_3{max-width:404px}
.product_item2_4{max-width:363px}

.product_item3_1{max-width:265px}

.product_item4_1{max-width:265px}

.product_item_joy_1{max-width:376px}
.product_item_joy_2{max-width:376px}
.product_item_joy_3{max-width:376px}
.product_item_joy_4{max-width:376px}
.product_item_joy_5{max-width:376px}
.product_item_joy_6{max-width:376px}
.product_item_joy_7{max-width:376px}
.product_item_joy_8{max-width:376px}
.product_item_joy_9{max-width:376px}
.product_item_joy_10{max-width:477px}
.product_item_joy_11{max-width:275px}
.product_item_joy_12{max-width:404px}
.product_item_joy_13{max-width:376px}
.product_item_joy_14{max-width:448px}

@media screen and (min-width: 1201px) {
 /* 共通矢印設定 */
 #slider2 {
  position: relative;
 }
 /* 左側に寄せる（内側へ） */
 #slider2 .swiper-button-prev {
  left: 32%; /* ← 内側に調整。元が0か-20pxなどなら10pxにする */
 }
 /* 右側に寄せる（内側へ） */
 #slider2 .swiper-button-next {
  right: 32% /* ← 同様に内側に配置 */
 }
}

@media screen and (max-width: 768px) {
ul.product_item{flex-direction:column}
ul.product_item li{width:100%}
}





/*==========
ハンバーガーメニュー グロナビ
============================================*/
.topContainer {
  /*margin-top: 90px;*/
  margin-top: 120px;
  position:relative;
  z-index:3
}

.header {
 background: white;
 /*height: 90px;*/
 height: 120px;
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 0 20px;
 position: fixed;
 width: 100%;
 top: 0;
 left: 0;
 z-index: 1000;
 border-bottom: 4px solid #023B92;
 box-sizing: border-box
}

@media screen and (max-width: 1024px) {
.header {
 padding: 0;
 }
}



/*
.logo {
  font-weight: bold;
  color: #023B92;
}
*/
.hamburger {
 width: 30px;
 height: 22px;
 position: relative;
 /*right: 10%;*/
 right: 5%;
 cursor: pointer;
 display: none;
 z-index: 1100;
}
.hamburger span {
 background: #023B92;
 position: absolute;
 width: 100%;
 height: 3px;
 border-radius: 2px;
 transition: 0.3s;
}
.hamburger span:nth-child(1) {
 top: 0;
}
.hamburger span:nth-child(2) {
 top: 9px;
}
.hamburger span:nth-child(3) {
 top: 18px;
}
.hamburger.open span:nth-child(1) {
 transform: rotate(45deg);
 top: 9px;
 /*! background: #fff; */
}
.hamburger.open span:nth-child(2) {
 opacity: 0;
}
.hamburger.open span:nth-child(3) {
 transform: rotate(-45deg);
 top: 9px;
 /*   background: #fff; */
}
.mobile-menu {
 position: fixed;
 top: 90px;
 right: -100%;
 width: 100%;
 max-width: 360px;
 height: calc(100vh - 90px);
 background: #023B92;
 padding: 30px 20px;
 box-shadow: -4px 0 10px rgba(0, 0, 0, 0.3);
 transition: right 0.3s ease;
 z-index: 1050;
 color: white;
 box-sizing: border-box
}
.mobile-menu.open {
 right: 0;
}
.mobile-menu ul {
 list-style: none;
 padding: 0;
 margin: 0 0 30px 0;
}
.mobile-menu li {
 font-size: 18px;
 margin-bottom: 20px;
}
.mobile-menu .divider {
 height: 1px;
 background: white;
 margin: 20px 0;
}
.mobile-menu a {
 color: white;
 text-decoration: none;
}
/* お問い合わせボタン（背景画像でアイコン） */
.contact-button {
 background: #fff;
 text-align: center;
 padding: 15px;
}
.contact-link {
 color: #023B92 !important;
 font-weight: bold;
 text-decoration: none;
 font-size: 18px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 padding-left: 34px; /* アイコン用スペース */
 position: relative;
}
.contact-link::before {
 content: "";
 display: inline-block;
 background-image: url("../img/common/mail_blue.svg"); /* メールアイコンのパス */
 background-size: contain;
 background-repeat: no-repeat;
 width: 24px;
 height: 24px;
 position: absolute;
 left: 0;
 top: 60%;
 transform: translateY(-50%);
}
/* スマホ用にのみ表示 */
@media screen and (max-width: 1024px) {
 .hamburger {
  display: block;
 }
}
/* PCでは非表示 */
@media screen and (min-width: 1025px) {
 .mobile-menu {
  display: none;
 }
}

/*==========
お問合せ
============================================*/
.contact_wrap {
  max-width: 100%;
  margin: 20px auto 0;
  padding: 4em 4em 5em;
  background-color: #EBF6FF;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
   box-sizing: border-box
}

.contact_wrap h4 {
  font-size: 18px;
  text-align: center;
  margin-bottom: 30px;
  font-weight: bold;
}

.contact_wrap p {
  line-height: 1.8;
  margin-bottom: 20px;
   font-weight: normal;
}

.contact_wrap .company_info {
/*  font-weight: bold;*/
}

.contact_wrap .button-wrapper {
  text-align: center;
   margin:40px auto 0
}

.contact_wrap .back-button {
  width: 230px;
   margin: auto;
  display: block;
   box-sizing: border-box;
  padding: 12px 32px;
 background: #023B92;
 background: linear-gradient(180deg, rgba(2, 59, 146, 1) 0%, rgba(47, 146, 226, 1) 100%);
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.3s;
position: relative
}

.contact_wrap .back-button:hover {
background: #135CB0;
 background: linear-gradient(180deg, rgba(19, 92, 176, 1) 0%, rgba(47, 146, 226, 1) 100%);
}


.contact-form-group.contact_wrap .back-button {
   border: none;
  box-shadow: none;
}

.contact_wrap .back-button::after {
  position: absolute;
  content: "";
  top: 45%;
  right: 8%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
 }

@media screen and (max-width: 768px) {
.contact_wrap h4 {
  font-size: 16px;
  text-align: left;
}
}
.vertical_middle {
 display: flex;
 align-items: centerF
}
.contact-form-container {
  max-width: 1000px;
  margin: 40px auto;
  background: #EBF6FF;
  padding: 30px;
  /*! box-shadow: 0 0 10px rgba(0,0,0,0.1); */
  box-sizing: border-box;
}

.contact-form-group {
  margin-bottom: 25px;
}

.contact-form-group label {
  display: block;
  font-weight: 600;
  color: #353535;
  margin-bottom: 10px;
}

.contact-form-required {
  display: inline-block;
  background-color: #F15D5D;
  color: white;
  font-size: 0.8em;
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 10px;
  font-weight: normal;
}

.contact-form-input,
.contact-form-textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 1em;
  margin-top: 8px;
}

.contact-form-radio-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 60px;
  margin-top: 8px;
  padding: 15px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.contact-form-group.contact_wrap{
	background: transparent!important;
	box-shadow: none;
   padding: 0
}

.contact-form-radio-group label {
  font-weight: normal;
  margin-bottom: 0
}

.contact-form-textarea {
  resize: vertical;
}

.contact-form-privacy-section {
  max-width: 1000px;
  margin: auto;
  /*! background: #ffffff; */
  /*! padding: 30px; */
  /*! box-shadow: 0 0 10px rgba(0,0,0,0.1); */
  box-sizing: border-box;
}

.contact-form-iframe {
  width: 100%;
  height: 150px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  border-radius: 7px;
}

.contact-form-note {
  text-align: center;
  margin: 30px 0;
  font-size: 1em;
  color: #333;
}

.contact-form-submit {
  display: block;
  margin: 0 auto;
  padding: 12px 40px;
  font-size: 16px;
  color: white;
  background-color: #003c91;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.contact-form-submit:hover {
  background-color: #0050b3;
}

@media (max-width: 768px) {
  .contact-form-radio-group {
    flex-direction: column;
    gap: 10px;
  }

  .contact-form-container,
  .contact-form-privacy-section {
    padding: 20px;
  }
}