/* 1336pxの場合　フォントサイズ以外
 min(1rem,calc(10vw/13.66)) */

#wrapper {
 background-color: #e3e9f3;
 position: relative;
 z-index: 1;
 overflow: hidden;
}

/*                         header                          */
header {
 position: fixed;
 top: 0;
 width: 100%;
 z-index: 99;
 background-color: #fff;
}
.hd_inner {
 padding: min(1.2rem, calc(12vw / 13.66)) min(5rem, calc(50vw / 13.66));
}
.hd_flex {
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.hd_ttl a {
 font-size: 2.8rem;
 color: #082275;
 letter-spacing: 0.05em;
 font-weight: 600;
}

.hd_menu {
 width: min(73.5rem, calc(735vw / 13.66));
 display: flex;
 justify-content: space-between;
}
.hd_menu ul {
 width: min(45.5rem, calc(455vw / 13.66));
 display: flex;
 justify-content: space-between;
}
.hd_menu ul a {
 font-size: 1.4rem;
 color: #082275;
 letter-spacing: 0.1em;
 font-weight: 600;
 position: relative;
 display: block;
}
.hd_menu ul a::before {
 content: '';
 width: 100%;
 border: min(.1rem, calc(1vw / 13.66)) solid #082275;
 position: absolute;
 bottom: 0;
 left: 0;
 border-radius: 1rem;
 transform-origin: center;
 transform: scale(0,1);
 transition: .4s;
}

@media (hover: hover)  and (pointer: fine){
 .hd_ttl a:where(:any-link, :enabled, summary):hover,
 .logo a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
 .hd_menu ul a:where(:any-link, :enabled, summary):hover::before {
  transform: scale(1);
 }

}
.hd_menu .logo {
 width: min(25rem, calc(250vw / 13.66));
}

.nav_btn {
 display: none;
}
.nav {
 display: none;
}

/*                         mv                          */
.mv_inner {
 padding-top: min(8rem, calc(80vw / 13.66));
 position: relative;
 background: #0059a8;
 background: linear-gradient(90deg, rgba(0, 89, 168, 1) 0%, rgba(8, 34, 117, 1) 100%);
 z-index: 10;
}

.mv_ttl {
 font-size: 10rem;
 letter-spacing: 0.1em;
 font-weight: 300;
 color: #fff;
 line-height: 1;
 -ms-writing-mode: tb-rl;
 writing-mode: vertical-rl;
 position: absolute;
 top: calc(135vw / 13.66);
}
.mv_ttl_right {
 right:  min(1rem, calc(10vw / 13.66));
}
.mv_ttl_left {
 left:  min(1rem, calc(10vw / 13.66));
}

.section_contents {
 margin-top: max(-8rem, calc(-80vw / 13.66));
 padding-top: min(8rem, calc(80vw / 13.66));
}
.section_container {
 position: relative;
 z-index: 1;
}
.section_container::after {
 content: "";
 width: 100%;
 height: 100%;
 background: url(../images/bg.webp);
 background-size: contain;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
 pointer-events: none;
}
.section_inner {
 width: min(136.6rem, calc(1366vw / 13.66));
 margin: 0 auto;
 position: relative;
}

.bg_txt {
 font-size: 25rem;
 font-weight: 900;
 letter-spacing: 0.05em;
 background: #004685;
 background: linear-gradient(180deg, rgba(0, 70, 133, 0.15) 0%, rgba(0, 70, 133, 0) 100%);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 position: absolute;
 left: 0;
 right: 0;
 margin: 0 auto;
 top: 0;
 line-height: 1;
 z-index: 0;
}

/*                        about                        */

.about_container {
 padding-bottom: min(20rem, calc(200vw / 13.66));
 background-color: #f3f6fd;
}
.about_inner {
 padding-top: min(17rem, calc(170vw / 13.66));
}
.about_bg_txt {
 font-size: 26.4rem;
 left: auto;
 right: max(-49rem, calc(-490vw / 13.66));
 top: min(50rem, calc(500vw / 13.66));
 transform: rotate(90deg);
 letter-spacing: 0.15em;
}
.about_item {
 width: min(106rem, calc(1060vw / 13.66));
 margin: 0 auto;
 position: relative;
 z-index: 1;
}
.about_item::before {
 content: "";
 width: min(99.5rem, calc(995vw / 13.66));
 height: min(36.5rem, calc(365vw / 13.66));
 background-color: #e3e9f3;
 position: absolute;
 top: min(4.5rem, calc(45vw / 13.66));
 left: max(-4.5rem, calc(-45vw / 13.66));
 z-index: -1;
}
.about_ttl {
 font-size: 6.4rem;
 color: #082275;
 line-height: 1.45;
 text-align: left;
 letter-spacing: 0.1em;
 font-weight: normal;
}
.about_img {
 width: min(100rem, calc(1000vw / 13.66));
}
.about_detail {
 width: min(53rem, calc(530vw / 13.66));
 position: absolute;
 left: 0;
 right: 0;
 margin: 0 auto;
 top: min(44rem, calc(440vw / 13.66));
 text-align: left;
}
.about_detail_ttl {
 display: inline-block;
 font-size: 2.8rem;
 color: #082275;
 font-weight: 600;
 letter-spacing: 0.1em;
 border-radius: min(0.3rem, calc(3vw / 13.66));
 background-color: #fff;
 line-height: 1.6;
 padding: 0 min(1rem, calc(10vw / 13.66));
}
.about_detail_txt {
 background-color: #fff;
 font-size: 1.8rem;
 color: #333333;
 letter-spacing: 0.08em;
 text-align: justify;
 border-radius: min(0.4rem, calc(4vw / 13.66));
 padding: min(2rem, calc(20vw / 13.66));
 font-weight: 600;
 margin-top: min(1.5rem, calc(15vw / 13.66));
}

/*                        feature                        */

.feature_container {
 background-color: #e3e9f3;
 padding-bottom: min(14rem, calc(140vw / 13.66));
 position: relative;
 background: #ffffff;
 background: linear-gradient(180deg, #f3f6fd 0%, #f3f6fd  calc(75vw / 13.66), rgba(227, 233, 243, 1)  calc(75vw / 13.66), rgba(227, 233, 243, 1) 100%);
}
.feature_inner::before {
 content: "";
 width: 0;
 height: 0;
 border-left: calc(683vw / 13.66) solid #e3e9f3;
 border-top: calc(75vw / 13.66) solid transparent;
 border-bottom: calc(75vw / 13.66) solid transparent;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
}
.feature_inner::after {
 content: "";
 width: 0;
 height: 0;
 border-right: calc(683vw / 13.66) solid #e3e9f3;
 border-top: calc(75vw / 13.66) solid transparent;
 border-bottom: calc(75vw / 13.66) solid transparent;
 position: absolute;
 top: 0;
 right: 0;
 z-index: -1;
}
.feature_inner {
 width: 100%;
 position: relative;
 padding-top: min(38rem, calc(380vw / 13.66));
}

.feature_item {
 width: min(110rem, calc(1100vw / 13.66));
 margin: 0 auto;
 text-align: left;
}

.feature_bg_txt {
 width: 100%;
 font-size: 25rem;
 top: min(18rem, calc(180vw / 13.66));
}
.feature_ttl {
 font-size: 4rem;
 color: #082275;
 letter-spacing: 0.12em;
 font-weight: 600;
 margin-bottom: min(5rem, calc(50vw / 13.66));
}
.feature_item dl {
 border-bottom: #082275 solid min(0.1rem, calc(1vw / 13.66));
 position: relative;
 padding-top: min(3rem, calc(30vw / 13.66));
 padding-bottom: min(5.5rem, calc(55vw / 13.66));
}
.feature_item dl:last-of-type {
 border: none;
}
.feature_item dt {
 font-size: 2.8rem;
 color: #082275;
 letter-spacing: 0.08em;
 font-weight: 600;
 position: relative;
}
.feature_item dt::before {
 content: "";
 width: min(11.3rem, calc(113vw / 13.66));
 height: min(10.7rem, calc(107vw / 13.66));
 background: url(../images/star_icon.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: max(-1.2rem, calc(-12vw / 13.66));
 left: 0;
}
.feature_item dt span {
 font-size: 10rem;
 color: #082275;
 letter-spacing: 0.05em;
 font-weight: 700;
 background: #0059a8;
 background: linear-gradient(225deg, rgba(0, 89, 168, 1) 0%, rgba(8, 34, 117, 1) 100%);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 margin-right: min(2rem, calc(20vw / 13.66));
 line-height: 1.4;
 padding-left: min(6rem, calc(60vw / 13.66));
}
.feature_item dd {
 font-size: 2.2rem;
 color: #333333;
 letter-spacing: 0.1em;
 font-weight: 600;
}

/*                        mold_star                        */
.mold_star_container::after {
 content: "";
 width: 100%;
 height: 100%;
 background: url(../images/bg_02.webp);
 background-size: contain;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
 pointer-events: none;
}



.mold_star_container {
 background: #0059a8;
 background: linear-gradient(225deg, rgba(0, 89, 168, 1) 0%, rgba(8, 34, 117, 1) 100%);
 padding: min(23rem, calc(230vw / 13.66)) 0 min(12rem, calc(120vw / 13.66));
 position: relative;
 z-index: 1;
}
.mold_star_bg_txt {
 background: #ffffff;
 background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 100%);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 font-size: 12.5rem;
 right: auto;
 top: max(-8rem, calc(-80vw / 13.66));
}
.mold_star_inner {
 width: min(110rem, calc(1100vw / 13.66));
 margin: 0 auto;
 position: relative;
}
.mold_star_img {
 width: min(17.3rem, calc(173vw / 13.66));
 position: absolute;
 top: max(-10rem, calc(-100vw / 13.66));
 right: max(-2.5rem, calc(-25vw / 13.66));
}
.mold_star_ttl {
 font-size: 4rem;
 letter-spacing: 0.12em;
 color: #ffff;
 text-align: left;
}
.mold_star_menu {
 display: flex;
 justify-content: space-between;
 margin-top: min(8rem, calc(80vw / 13.66));
 margin-bottom: min(7rem, calc(70vw / 13.66));
}
.mold_star_menu li {
 width: min(21.2rem, calc(212vw / 13.66));
 box-sizing: border-box;
 border: #fff solid min(0.1rem, calc(1vw / 13.66));
}
.mold_star_menu li button {
 display: block;
 font-size: 2rem;
 font-weight: 600;
 letter-spacing: 0.1em;
 color: #fff;
 text-align: center;
 width: 100%;
 padding: min(1.4rem, calc(14vw / 13.66)) 0;
 transition: .4s;
}

@media (hover: hover)  and (pointer: fine){
 .mold_star_menu li button:where(:any-link, :enabled, summary):hover {
  background-color: #fff;
  color: #082275;
 }


}
.mold_star_menu li button.now {
 background-color: #fff;
 color: #082275;
}

.mold_star_main {
 position: relative;
}
.mold_star_item {
 position: relative;
 opacity: 1;
 visibility: visible;
 z-index: 10;
}
.mold_star_item_hide {
 width: 100%;
 position: absolute;
 top: 0;
 opacity: 0;
 visibility: hidden;
 z-index: -10;
}
.mold_star_item_detail {
 display: flex;
 justify-content: space-between;
}
.mold_star_item_ttl {
 font-size: 3rem;
 font-weight: 600;
 letter-spacing: 0.1em;
 color: #fff;
 text-align: left;
 line-height: 1.7;
}
.mold_star_item_ttl .min_txt {
 font-size: 1.6rem;
 display: block;
}
.mold_star_item_ttl .tag {
 width: min(13rem, calc(130vw / 13.66));
 font-size: 1.6rem;
 color: #fff;
 font-weight: 600;
 display: block;
 background: #0059a8;
 background: linear-gradient(225deg, rgba(0, 89, 168, 1) 0%, rgba(8, 34, 117, 1) 100%);
 text-align: center;
 line-height: 1.6;
 margin-bottom: min(1.5rem, calc(15vw / 13.66));
 border-radius: min(0.2rem, calc(2vw / 13.66));
}
.mold_star_03 .mold_star_item_ttl .tag {
 width: min(47.5rem, calc(475vw / 13.66));
}
.mold_star_04 .mold_star_item_ttl .tag {
 width: min(31.5rem, calc(315vw / 13.66));
}
.mold_star_05 .mold_star_item_ttl .tag {
 width: min(27.5rem, calc(275vw / 13.66));
}
.mold_star_item_images {
 display: flex;
 justify-content: space-between;
 margin-top: min(7rem, calc(70vw / 13.66));
}
.mold_star_item_txt {
 width: min(64.5rem, calc(645vw / 13.66));
 font-size: 1.6rem;
 font-weight: 500;
 color: #fff;
 letter-spacing: 0.08em;
 text-align: justify;
 margin-top: min(4.5rem, calc(45vw / 13.66));
}
.mold_star_03 .mold_star_item_txt {
 width: min(53rem, calc(530vw / 13.66));
}
.mold_star_item_img {
 width: min(54.5rem, calc(545vw / 13.66));
 position: relative;
}
.mold_star_03 .mold_star_item_img {
 width: min(36rem, calc(360vw / 13.66));
}
.mold_star_item_img span {
 color: #fff;
 font-size: 1.4rem;
 font-weight: 600;
 letter-spacing: 0.08em;
 background-color: #082275;
 border-radius: 0 min(0.5rem, calc(5vw / 13.66)) 0 0;
 padding: min(0.6rem, calc(6vw / 13.66)) min(2rem, calc(20vw / 13.66));
 display: inline-block;
 position: absolute;
 bottom: 0;
 left: 0;
}
.mold_star_splide {
 padding: min(10rem, calc(100vw / 13.66)) 0 min(7.5rem, calc(75vw / 13.66));
 position: relative;
}
.mold_star_splide .splide__track {
 width: min(90rem, calc(900vw / 13.66));
 margin: 0 auto;
 position: relative;
 z-index: 1;
}
.mold_star_splide::before {
 content: "";
 width: min(87rem, calc(870vw / 13.66));
 height: min(52rem, calc(520vw / 13.66));
 background: #0059a8;
 background: linear-gradient(270deg, rgba(0, 89, 168, 1) 0%, rgba(8, 34, 117, 1) 100%);
 position: absolute;
 top: min(24.5rem, calc(245vw / 13.66));
 left: min(18.5rem, calc(185vw / 13.66));
 z-index: 0;
}

.mold_star_splide .splide__arrow {
 width: min(6rem, calc(60vw / 13.66));
 height: min(6rem, calc(60vw / 13.66));
 background-color: #fff;
 border-radius: min(0.3rem, calc(30vw / 13.66));
 transition: .4s;
 opacity: 1;
}
.mold_star_splide .splide__arrow svg {
 width: min(2rem, calc(20vw / 13.66));
 height: min(2.2rem, calc(22vw / 13.66));
 background: url(../images/arrow.svg) no-repeat;
 background-size: cover;
 transition: .4s;
 filter: brightness(1) invert(0);
}


@media (hover: hover)  and (pointer: fine){
.mold_star_splide .splide__arrow:where(:any-link, :enabled, summary):hover {
  background-color: #082275;
 }
.mold_star_splide .splide__arrow:where(:any-link, :enabled, summary):hover svg{
   filter: brightness(0) invert(1);
 }
}
.mold_star_splide .splide__arrow svg path {
 display: none;
}
.mold_star_splide .splide__arrow--prev {
 left: min(6.5rem, calc(65vw / 13.66));
 z-index: 2;
}
.mold_star_splide .splide__arrow--next {
 right: min(6.5rem, calc(65vw / 13.66));
 z-index: 2;
}
.mold_star_splide .splide__pagination {
 width: min(90rem, calc(900vw / 13.66));
 margin: 0 auto;
 padding: 0;
 display: flex;
 justify-content: space-between;
 flex-wrap: nowrap;
 gap: 0 min(1rem, calc(10vw / 13.66));
 bottom: max(-4rem, calc(-40vw / 13.66));
}
.mold_star_splide .splide__pagination li {
 width: 100%;
 font-size: 0;
}
.mold_star_splide .splide__pagination li button {
 margin: 0;
 width: 100%;
 border-radius: min(1rem, calc(10vw / 13.66));
 opacity: 1;
 height: min(0.3rem, calc(3vw / 13.66));
 background-color: #ffffff4d;
}
.mold_star_splide .splide__pagination li button.is-active {
 background-color: #fff;
}

.mold_star_btn {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-top: min(6.5rem, calc(65vw / 13.66));
}
.mold_star_btn li a {
 width: min(35.2rem, calc(352vw / 13.66));
 display: block;
 background-color: #fff;
 font-size: 1.8rem;
 font-weight: 600;
 letter-spacing: 0.1em;
 color: #082275;
 border-radius: min(3rem, calc(30vw / 13.66));
 padding: min(1.2rem, calc(12vw / 13.66)) 0;
 position: relative;
}
.mold_star_btn li a::before {
 content: "";
 width: min(1.8rem, calc(18vw / 13.66));
 height: min(2rem, calc(20vw / 13.66));
 background: url(../images/arrow.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(90deg);
 right: min(3rem, calc(30vw / 13.66));
 transition: .4s;
 filter: brightness(1) invert(0);
}

@media (hover: hover)  and (pointer: fine){
.mold_star_btn li a:where(:any-link, :enabled, summary):hover {
  background-color: #082275;
  color: #fff;
 }
.mold_star_btn li a:where(:any-link, :enabled, summary):hover::before{
   filter: brightness(0) invert(1);
 }
}

/*                        project                        */
.project_container {
 background-color: #fff;
 padding: min(19rem, calc(190vw / 13.66)) 0 0;
}
.project_container::after {
 content: none;
}
.project_inner {
 width: 100%;
}

.project_ttl {
 font-size: 4rem;
 color: #082275;
 letter-spacing: 0.08em;
 font-weight: 600;
 width: min(110rem, calc(1100vw / 13.66));
 margin: 0 auto;
 text-align: left;
}
.project_txt {
 font-size: 2rem;
 font-weight: 600;
 letter-spacing: 0.1em;
 color: #333333;
 margin-top: min(2rem, calc(20vw / 13.66));
}
.project_bg_txt {
 font-size: 17rem;
 left: max(-18rem, calc(-180vw / 13.66));
 top: max(-12rem, calc(-120vw / 13.66));
}

.thumbnail_splide {
 margin-top: min(8rem, calc(80vw / 13.66));
}
.thumbnail_slide {
 position: relative;
 z-index: 1;
 cursor: pointer;
}
.thumbnail_slide::before {
 position: absolute;
 top: 0;
 left: 0;
 content: "";
 width: 100%;
 height: 100%;
 background-color: #08227599;
 opacity: 1;
 transition: 0.4s;
}
.thumbnail_slide.show::before {
 opacity: 0;
}

.thumbnail_slide:hover::before {
  opacity: 0;
}



.thumbnail_slide span {
 font-size: 1.4rem;
 font-weight: 600;
 color: #fff;
 letter-spacing: 0.08em;
 background-color: #082275;
 padding: 0 min(2rem, calc(20vw / 13.66));
 display: inline-block;
 line-height: 1.7;
 z-index: 2;
 position: absolute;
 bottom: 0;
 left: 0;
}

.project_main {
 position: relative;
 margin-top: min(2rem, calc(20vw / 13.66));
 overflow: hidden;
}

.project_item {
 padding: min(6rem, calc(60vw / 13.66)) 0 min(10rem, calc(100vw / 13.66));
 position: relative;
 transition: 0.4s;
 opacity: 1;
 visibility: visible;
 z-index: 10;
}
.project_splide_hide {
 width: 100%;
 position: absolute;
 top: 0;
 opacity: 0;
 visibility: hidden;
 z-index: -10;
}
.project_item::after {
 content: "";
 width: 100%;
 height: 100%;
 background: #0059a8;
 position: absolute;
 top: 0;
 left: 0;
 background: linear-gradient(270deg, rgba(0, 89, 168, 0.8) 0%, rgba(8, 34, 117, 0.8) 100%);
 z-index: -1;
}

.project_item_ttl {
 font-size: 3rem;
 font-weight: 600;
 color: #fff;
 letter-spacing: 0.08em;
}

.project_item_detail {
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 0 min(4rem, calc(40vw / 13.66));
 white-space: nowrap;
 margin: min(1rem, calc(10vw / 13.66)) 0 min(5rem, calc(50vw / 13.66));
}
.project_item_detail li {
 font-size: 2rem;
 font-weight: 600;
 color: #fff;
 letter-spacing: 0.08em;
}
.project_item_detail li span {
 font-size: 1.6rem;
 background-color: #082275;
 display: inline-block;
 border-radius: min(0.2rem, calc(2vw / 13.66));
 padding: 0 min(1.5rem, calc(15vw / 13.66));
 margin-right: min(0.5rem, calc(5vw / 13.66));
}

.project_splide .splide__arrow {
 width: min(6rem, calc(60vw / 13.66));
 height: min(6rem, calc(60vw / 13.66));
 background-color: #fff;
 border-radius: min(0.3rem, calc(30vw / 13.66));
 opacity: 1;
 transition: .4s;
}
.project_splide .splide__arrow svg {
 width: min(2rem, calc(20vw / 13.66));
 height: min(2.2rem, calc(22vw / 13.66));
 background: url(../images/arrow.svg) no-repeat;
 background-size: cover;
  transition: .4s;
}

@media (hover: hover)  and (pointer: fine){
.project_splide .splide__arrow:where(:any-link, :enabled, summary):hover {
  background-color: #082275;
 }
.project_splide .splide__arrow:where(:any-link, :enabled, summary):hover svg{
   filter: brightness(0) invert(1);
 }
}
.project_splide .splide__arrow svg path {
 display: none;
}
.project_splide .splide__arrow--prev {
 right: 0;
 margin: 0 auto;
 left: max(-80rem, calc(-800vw / 13.66));
 z-index: 2;
}
.project_splide .splide__arrow--next {
 left: 0;
 margin: 0 auto;
 right: max(-80rem, calc(-800vw / 13.66));
 z-index: 2;
}

.project_bg_splide {
 position: absolute !important;
 width: 100% !important;
 z-index: -2;
 top: 0;
 filter: blur(5px);
}

/*                        catalog                        */
.catalog_container {
 background-color: #f3f6fd;
 padding: min(23rem, calc(230vw / 13.66)) 0 min(15rem, calc(150vw / 13.66));
}
.catalog_inner {
 width: min(110rem, calc(1100vw / 13.66));
 margin: 0 auto;
 position: relative;
}

.catalog_img {
 width: min(24.7rem, calc(247vw / 13.66));
 position: absolute;
 top: max(-12rem, calc(-120vw / 13.66));
 right: max(-2rem, calc(-20vw / 13.66));

}

.catalog_bg_txt {
 font-size: 12.5rem;
 right: auto;
 top: max(-8rem, calc(-80vw / 13.66));
}

.catalog_ttl {
 text-align: left;
 font-size: 4rem;
 color: #082275;
 font-weight: 600;
 letter-spacing: 0.08em;

}
.catalog_menu {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 gap:  min(5.5rem, calc(55vw / 13.66)) 0;
 text-align: left;
 margin-top: min(7rem, calc(70vw / 13.66));
}
.catalog_menu dl {
 width:  min(52rem, calc(520vw / 13.66));
}
.catalog_menu dt {
font-size: 2.8rem;
font-weight: 600;
color: #082275;
letter-spacing: 0.1em;
border-bottom: #082275 solid min(.1rem, calc(1vw / 13.66));
line-height: 1.7;
margin-bottom: min(3rem, calc(30vw / 13.66));
}
.catalog_menu dd {
 display: flex;
 flex-direction: column;
 gap:min(1.5rem, calc(15vw / 13.66)) 0;
}
.catalog_menu dd a{
 display: block;
 width: 100%;
 font-size: 1.4rem;
 font-weight: 600;
 letter-spacing: 0.08em;
 color: #082275;
 background-color: #fff;
 padding:  min(1.6rem, calc(16vw / 13.66))  min(2rem, calc(20vw / 13.66));
 box-sizing: border-box;
 position: relative;
}
.catalog_menu dd a::before {
 content: '';
 width: min(2.1rem, calc(21vw / 13.66));
 height: min(1.9rem, calc(19vw / 13.66));
 background: url(../images/download_icon.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(3rem, calc(30vw / 13.66));
 transition: .4s;
}



@media (hover: hover)  and (pointer: fine){
.catalog_menu dd a:where(:any-link, :enabled, summary):hover {
  background-color: #082275;
  color: #fff;
 }
.catalog_menu dd a:where(:any-link, :enabled, summary):hover::before{
   filter: brightness(0) invert(1);
 }
}




/*                        faq                        */
.faq_container {
 background-color: #E3E9F3;
 padding: min(21rem, calc(210vw / 13.66)) 0 min(15rem, calc(150vw / 13.66));
}
.faq_inner {
 width: min(110rem, calc(1100vw / 13.66));
 margin: 0 auto;
 position: relative;
}
.faq_bg_txt {
 font-size: 13.5rem;
 top: max(-8rem, calc(-80vw / 13.66));
}

.faq_ttl {
 font-size: 4rem;
 color: #082275;
 font-weight: 600;
 text-align: center;
 letter-spacing: 0.08em;
 margin-bottom: min(7rem, calc(70vw / 13.66));
}

.faq_item {
 background-color: #FFFFFF;
 box-sizing: border-box;
 text-align: justify;
 margin-top: min(2rem, calc(20vw / 13.66));
 border-radius:  min(.5rem, calc(5vw / 13.66));
}
.faq_btn {
 width: 100%;
 padding:min(3rem, calc(30vw / 13.66)) min(7.5rem, calc(75vw / 13.66));
 position: relative;
 transition: .4s;
}

@media (hover: hover)  and (pointer: fine){
.faq_btn:where(:any-link, :enabled, summary):hover {
  background-color: #082275;
  color: #fff;
 }
.faq_btn:where(:any-link, :enabled, summary):hover .txt{
  color: #fff;
 }
.faq_btn:where(:any-link, :enabled, summary):hover .faq_icon::before,
.faq_btn:where(:any-link, :enabled, summary):hover .faq_icon::after{
  border-color: #fff;
 }

}


.faq_btn .txt {
 width: 100%;
 display: block;
 text-align: left;
 font-size: 3rem;
 color: #082275;
 letter-spacing: 0.1em;
 font-weight: 600;
 transition: .4s;
}


.faq_icon {
 width: min(3rem, calc(30vw / 13.66));
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right:  min(7.5rem, calc(75vw / 13.66));
 box-sizing: border-box;
}
.faq_icon::before {
 content: '';
 width: min(3rem, calc(30vw / 13.66));
 border: solid #082275  min(.2rem, calc(2vw / 13.66));
 border-radius:  min(1rem, calc(10vw / 13.66));
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 margin: 0 auto;
 box-sizing: border-box;
 transition: .4s;
}
.faq_icon::after {
 content: '';
 width: min(3rem, calc(30vw / 13.66));
 border: solid #082275  min(.2rem, calc(2vw / 13.66));
 border-radius:  min(1rem, calc(10vw / 13.66));
 position: absolute;
 top: 0;
 transform:  rotate(90deg);
 left: 0;
 right: 0;
 margin: 0 auto;
 box-sizing: border-box;
 transition: .4s;
}

.open .faq_icon::after {
 transform: rotate(180deg);
}

.accordion_item {
 width: min(95rem, calc(950vw / 13.66));
 margin: 0 auto;
 display: none;
}
.accordion_item dl {
 padding-bottom:  min(2rem, calc(20vw / 13.66));
}
.accordion_item dl:last-of-type {
 padding-bottom:  min(3rem, calc(30vw / 13.66));
}
.accordion_item dt{
font-size: 1.8rem;
font-weight: 600;
color: #082275;
letter-spacing: 0.12em;
border-bottom:  #082275 solid  min(.1rem, calc(1vw / 13.66));
padding-bottom:  min(.5rem, calc(5vw / 13.66));
}
.accordion_item dt span {
 font-size: 2.4rem;
 margin-right:  min(1rem, calc(10vw / 13.66));
}
.accordion_item dd {
 font-size: 1.6rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 color: #333333;
 margin-top:  min(1rem, calc(10vw / 13.66));
}
.accordion_item dd  a {
 text-decoration: underline;
 color: #082275;
}
.accordion_item dd ul {
 display: flex;
 gap: 0  min(2rem, calc(20vw / 13.66));
}
.accordion_item dd span {
 display: block;
font-size: 1.2rem;
}

.faq_item_txt_ttl {
 font-size: 2rem;
 color: #082275;
 letter-spacing: 0.12em;
 font-weight: 600;
}
.faq_item_txt_ttl:nth-of-type(2) {
 margin-top: min(3rem, calc(30vw / 13.66));

}



@media (hover: hover)  and (pointer: fine){
 .accordion_item dd a:where(:any-link, :enabled, summary):hover {
  text-decoration: none;
 }

}



/*                        contact                        */
.contact_container {
 background: url(../images/contact_bg.webp) no-repeat;
 background-size: cover;
}
.contact_container::after {
 content: none;
}


.contact_inner {
padding:  min(8rem, calc(80vw / 13.66)) 0  min(15rem, calc(150vw / 13.66));
}
.contact_ttl {
 font-size: 4rem;
 color: #fff;
 letter-spacing: 0.08em;
 font-weight: 600;
}

.contact_bg_txt {
background: #FFFFFF;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
 -webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-size: 28rem;
top: max(-6rem, calc(-60vw / 13.66));
left: max(-2rem, calc(-20vw / 13.66));

}

.contact_mail  {
width:  min(96rem, calc(960vw / 13.66));
margin: 0 auto;
 background-color: #fff;
 border-radius: min(.5rem, calc(5vw / 13.66));
 padding:  min(4.5rem, calc(45vw / 13.66)) 0;
 margin-top:  min(5rem, calc(50vw / 13.66));
 z-index: 1;
}
.contact_mail  p {
 font-size: 2rem;
 font-weight: 600;
 letter-spacing: 0.12em;
 color: #082275;
 margin-bottom:  min(1em, calc(10vw / 13.66));
}
.contact_mail  .btn {
 width:  min(85rem, calc(850vw / 13.66));
 margin: 0 auto;
 background: #0059A8;
 background: linear-gradient(90deg, rgba(0, 89, 168, 1) 0%, rgba(8, 34, 117, 1) 100%);
 border-radius:  min(3rem, calc(30vw / 13.66));
 position: relative;
 cursor: pointer;
}

.contact_mail .btn a {
 display: block;
 width: 100%;
 font-size: 2.4rem;
 font-weight: 600;
 color: #fff;
 letter-spacing: 0.08em;
padding:  min(.6rem, calc(6vw / 13.66)) 0;
position: relative;
z-index: 1;
}
.contact_mail .btn a::before {
 content: '';
 width: 99%;
 height: 90%;
 background-color: #ffff;
 border-radius:  min(3rem, calc(30vw / 13.66));
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
 z-index: -1;
 transition: .4s;
 opacity: 0;
}

@media (hover: hover)  and (pointer: fine){
.contact_mail .btn a:where(:any-link, :enabled, summary):hover {
  color: #082275;
 }
.contact_mail .btn a:where(:any-link, :enabled, summary):hover::before {
  opacity: 1;
 }
}


.contact_tell {
 width:  min(96rem, calc(960vw / 13.66));
margin: 0 auto;
 background-color: #fff;
 border-radius: min(.5rem, calc(5vw / 13.66));
 padding:  min(4.5rem, calc(45vw / 13.66)) 0;
 margin-top:  min(5.5rem, calc(55vw / 13.66));
}
.contact_tell_ttl {
 font-size: 2rem;
 font-weight: 600;
 color: #082275;
 letter-spacing: 0.12em;
 margin-bottom: min(.5rem, calc(5vw / 13.66));
}
.contact_tell_txt {
 font-size: 1.6rem;
 color: #333333;
 line-height: 1.75;
 letter-spacing: 0.1em;
 font-weight: 600;
}
.contact_tell_txt  span {
 display: block;
 font-size: 1.2rem;
 margin-top: min(1rem, calc(10vw / 13.66));
}

.contact_map {
 display: flex;
 justify-content: space-between;
 align-items: center;
 width: min(85rem, calc(850vw / 13.66));
 margin: min(5.5rem, calc(55vw / 13.66)) auto 0;

}
.map_img {
 width: min(35rem, calc(350vw / 13.66));
}

.map_detail {
 width: min(42.5rem, calc(425vw / 13.66));
 text-align: justify;
}
.map_detail dl {
margin-bottom: min(2rem, calc(20vw / 13.66));
color: #333333;
}
.map_detail dl:last-of-type {
 margin-bottom: 0;
}
.map_detail dt {
font-size: 1.6rem;
font-weight: 600;
letter-spacing: 0.08em;
display: flex;
align-items: center;
gap: 0 min(.5rem, calc(5vw / 13.66));
line-height: 1;
margin-bottom: min(1.5rem, calc(15vw / 13.66));
}
.map_detail dt::before {
 content: '';
 width:  min(1.5rem, calc(15vw / 13.66));
 height:  min(1.5rem, calc(15vw / 13.66));
 background-color: #082275;
 border-radius: min(.1rem, calc(1vw / 13.66));
}
.map_detail dl:nth-of-type(2) dt:before {
 background-color: #B9ECAB;
}
.map_detail dl:nth-of-type(3) dt:before {
 background-color: #D2BEE6;
}
.map_detail dl:nth-of-type(4) dt:before {
 background-color: #87D2FF;
}
.map_detail dd {
font-size: 1.2rem;
font-weight: 600;
letter-spacing: 0.1em;
line-height: 1.66;
}




/*                        footer                        */
.footer_inner {
 background-color: #fff;
 padding: min(5.5rem, calc(55vw / 13.66)) 0 min(2.5rem, calc(25vw / 13.66));
 position: relative;
}
.footer_inner::after {
 content: "";
 width: 100%;
 height: 100%;
 background: url(../images/bg.webp);
 background-size: contain;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
 pointer-events: none;
}
.footer_logo {
 width: min(50rem, calc(500vw / 13.66));
 margin: 0 auto;
}
.copy {
 font-size: 1.2rem;
 font-weight: 600;
 letter-spacing: 0.1em;
 color: #082275;
 margin-top: min(4.5rem, calc(45vw / 13.66));
}



@media (hover: hover)  and (pointer: fine){
 .footer_logo a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }

}




@media screen and (max-width: 767px) {
/*                         header                          */
.hd_inner {
 padding: 1.4rem 2rem;
 position: relative;
 z-index: 5;
}
.hd_ttl a {
 font-size:1.6rem;
}
.scrollLock .hd_ttl a {
color: #fff;
}

.hd_menu {
 display: none;
}


.nav_btn {
display: block;
width: 3.5rem;
height: 1rem;
position: relative;
}
.nav_btn::before {
 content: '';
 width: 100%;
 border: .1rem solid #082275;
 border-radius: 1rem;
 position: absolute;
 top: 0;
 left: 0;
 transition: .4s;
}
.nav_btn::after {
 content: '';
 width: 2.5rem;
 border: .1rem solid #082275;
 border-radius: 1rem;
 position: absolute;
 bottom: 0;
 right: 0;
 transition: .4s;
}

.open.nav_btn::before {
 border-color: #fff;
 transform: rotate(-155deg);
 top: .4rem;
}
.open.nav_btn::after {
 width: 100%;
 border-color: #fff;
 transform: rotate(155deg);
 bottom: .4rem;
}

.nav {
 position: fixed;
 top: 0;
 width: 100%;
 height: 100vh;
 height: 100dvh;
 background: #0059A8;
background: linear-gradient(-120deg, rgba(0, 89, 168, 1) 0%, rgba(8, 34, 117, 1) 100%);
z-index: 1;
}
.nav::after {
 content: "";
 width: 100%;
 height: 100%;
 background: url(../images/bg_02.webp);
 background-size: contain;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
 pointer-events: none;
}
.nav_bg {
 position: fixed;
 top: 0;
 width: 100%;
 height: 100%;
}
.nav_inner {
 position: relative;
 z-index: 1;
 width: 33.5rem;
 margin: 7.5rem auto 0;
}
.nav_menu li a {
 display: block;
 width: 100%;
 font-size: 2.4rem;
 color: #FFFFFF;
 font-weight: 600;
 letter-spacing: 0.12em;
 text-align: left;
 box-sizing: border-box;
 position: relative;
 line-height: 1.4;
 padding: 1.7rem 0;
 padding-left: 1.5rem;
}
.nav_menu li a span {
 display: block;
 font-size: 1.2rem;
}
.nav_menu li a::before {
 content: '';
 width: 100%;
 height: .1rem;
 background: #fff;
 border-radius: 1rem;
 position: absolute;
 bottom: 0;
 left: 0;
}

.nav_logo {
 width: 25rem;
 margin: 4rem auto 0;
}
/*                         mv                          */
.mv_inner {
 padding-top:6rem;
}

.mv_ttl {
 font-size: 5rem;
 letter-spacing: 0.1em;
 font-weight: 300;
 color: #fff;
 line-height: 1;
 -ms-writing-mode: horizontal-tb;
 writing-mode:horizontal-tb;
 top: 13.5rem;
}
.mv_ttl_right {
 right: auto;
 left: 2.5rem;
}
.mv_ttl_left {
 left: 2.5rem;
 top: 21.5rem;
}

.section_contents {
 margin-top:-6rem;
 padding-top:6rem;
}

.section_inner {
 width:100%;
}

.bg_txt {
 font-size: 15rem;

}

/*                        about                        */

.about_container {
 padding-bottom: 8.5rem;
}
.about_inner {
 padding-top:6rem;
}
.about_bg_txt {
 font-size: 8rem;
 left: auto;
 right: -14.8rem;
 top: 16rem;
 z-index: 2;
}
.about_item {
 width: 100%;
}
.about_item::before {
 width: 32.7rem;
 height:73rem;
 top: 15rem;
 left: 1rem;
}
.about_ttl {
 font-size: 4rem;
 line-height: 1.5;
 margin-left: 4rem;
 margin-bottom: 2rem;
}
.about_img {
 width: 34.5rem;
 margin: 0 auto;
}
.about_detail {
 width:33.5rem;
 position: relative;
 top:0;
 margin-top: 3.5rem;
}
.about_detail_ttl {
 font-size: 2rem;
 border-radius:0;
 line-height: 1.75;
 padding: 0 1rem;
}
.about_detail_txt {
 background-color: #F3F6FD;
 font-size: 1.8rem;
 border-radius: 0;
 padding:1rem 2rem;
 margin-top: 1.2rem;
}

/*                        feature                        */

.feature_container {
 padding-bottom:3.5rem;
 background: linear-gradient(180deg, #f3f6fd 0%, #f3f6fd  2rem, rgba(227, 233, 243, 1)  2rem, rgba(227, 233, 243, 1) 100%);
}
.feature_inner::before {
 border-left:18.75rem solid  #e3e9f3;
 border-top:2rem solid transparent;
 border-bottom:2rem solid transparent;
}
.feature_inner::after {
 border-right:18.75rem  #e3e9f3 solid;
 border-top:2rem solid transparent;
 border-bottom:2rem solid transparent;
}
.feature_inner {
 padding-top: 10rem;
}

.feature_item {
 width: 33.4rem;
}

.feature_bg_txt {
 width: 100%;
 font-size: 7rem;
 top: 6rem;
}
.feature_ttl {
 font-size: 2.4rem;
 letter-spacing: 0.16em;
 margin-bottom:0;
}
.feature_item dl {
 border-bottom: #082275 solid .1rem;
 padding-top: 3.5rem;
 padding-bottom: 2.5rem;
}
.feature_item dt {
 font-size: 1.6rem;
 padding-left: 2.2rem;
}
.feature_item dt::before {
 content: "";
 width: 6.1rem;
 height: 5.3rem;
 top: -1.8rem;
}
.feature_item dt span {
 display: block;
 font-size: 5rem;
 margin-right:0;
 line-height: 1.15;
 padding-left:0;
 padding-left: .5rem;
}
.feature_item dt span  span {
 display: inline-block;
}
.feature_item dd {
 font-size: 1.6rem;
 line-height: 1.87;
 margin-top: 1rem;
}

/*                        mold_star                        */

.mold_star_container {
 padding:10rem 0 7.5rem;
}
.mold_star_bg_txt {
 font-size: 4.2rem;
 right: auto;
 top:-1.8rem;
}
.mold_star_inner {
 width:33.5rem;
}
.mold_star_img {
 width:8rem;
 top: -3.5rem;
 right:-.3rem;
}
.mold_star_ttl {
 font-size: 2.4rem;
}
.mold_star_menu {
 flex-wrap: wrap;
 gap: .8rem 0;
 margin-top: 4rem;
 margin-bottom: 4rem;
}
.mold_star_menu li {
 width:16.3rem;
 border: #fff solid.1rem;
 border-radius: .5rem;
 overflow: hidden;
}
.mold_star_menu li button {
 font-size: 1.4rem;
 padding:1.1rem 0;
}

.mold_star_item_detail {
 flex-direction: column;
}
.mold_star_item_ttl {
 font-size: 2.2rem;
 font-weight: 600;
 letter-spacing: 0.1em;
 color: #fff;
 text-align: left;
 line-height: 1.7;
}
.mold_star_item_ttl .min_txt {
 font-size: 1.4rem;
 margin-top: 0.5rem;
}
.mold_star_item_ttl .tag {
 width: 8rem;
 font-size: 1.3rem;
 line-height: 1.6;
 margin-bottom:1rem;
 border-radius: min(0.2rem, calc(2vw / 13.66));
}
.mold_star_03 .mold_star_item_ttl .tag {
 width:100%;
}
.mold_star_04 .mold_star_item_ttl .tag {
 width: 21.2rem;
}
.mold_star_05 .mold_star_item_ttl .tag {
 width:17.8rem;
}
.mold_star_item_images {
 flex-direction: column;
 gap: 2rem 0;
 margin-top: 4.5rem;
}
.mold_star_item_txt {
 width: 100%;
 font-size: 1.6rem;
 line-height: 1.87;
 margin-top: 2.5rem;
}
.mold_star_03 .mold_star_item_txt {
 width:100%;
}
.mold_star_item_img {
 width: 100%;
}
.mold_star_03 .mold_star_item_img {
 width: 100%;
}
.mold_star_item_img span {
 border-radius: 0 .5rem 0 0;
 padding:.4rem 2.2rem;
}
.mold_star_splide {
 padding: 7rem 0;
 position: relative;
}
.mold_star_splide .splide__track {
 width: 100%;
 margin: 0 auto;
 position: relative;
 z-index: 1;
}
.mold_star_splide::before {
 width:31rem;
 height:20rem;
 top:9.3rem;
 left:auto;
 right: -1.2rem;
 z-index: 0;
}

.mold_star_splide .splide__arrow {
 width:3.5rem;
 height:3.5rem;
 border-radius:.2rem;
}
.mold_star_splide .splide__arrow svg {
 width: 1.1rem;
 height:1.2rem;
}

.mold_star_splide .splide__arrow--prev {
 left: 0;
 right: auto;
 z-index: 2;
}
.mold_star_splide .splide__arrow--next {
 right:0;
 left: auto;
 z-index: 2;
}
.mold_star_splide .splide__pagination {
 width: 100%;
 gap: 0 .7rem;
 bottom:-4rem;
}
.mold_star_splide .splide__pagination li button {
 border-radius: 1rem;
 height: .2rem;
}

.mold_star_btn {
 flex-direction: column;
 gap: 1.2rem 0;
 margin-top:2.5rem;
}
.mold_star_btn li a {
 width:33.5rem;
 font-size: 1.4rem;
 border-radius: 2.2rem;
 padding: .8rem 0;
}
.mold_star_btn li a::before {
 width:1.4rem;
 height: 1.5rem;
 right: 2rem;
}

.mold_star_bg_txt_bottom {
 top: auto;
 bottom: -6rem;
}

/*                        project                        */
.project_container {
 padding:8rem 0 0;
}
.project_ttl {
 width: 100%;
 font-size: 2.4rem;
 text-align: left;
 margin-left: 2rem;
}
.project_txt {
 font-size: 1.6rem;
 width: 33.5rem;
 margin: 2rem auto 0;
 text-align: justify;
}
.project_bg_txt {
 font-size: 4.2rem;
 top: -2.5rem;
 right: auto;
 left: 2rem;
}

.thumbnail_splide {
 margin-top: 3.5rem;
}


.thumbnail_slide span {
 font-size: 1rem;
 padding: 0 .5rem;
 line-height: 1.6;
 white-space: nowrap;
 transform-origin: left;
 transform: scale(.9);
}

.project_main {
 margin-top:2rem;
}

.project_item {
 padding: 4rem 0 7.5rem;
}

.project_splide .project_slide {
 width: 28rem !important;
}
.project_splide .project_slide_sp {
 width: 13.7rem !important;
}
.project_splide .project_slide_sp_02 {
 width: 13rem !important;
}
.project_splide_3 .project_slide_sp_02 {
 width: 11.9rem !important;
}
.project_item_ttl {
 font-size: 2rem;
}

.project_item_detail {
 width: 33.5rem;
 display: flex;
 flex-wrap: wrap;

 gap: 1rem 0;
 justify-content: space-between;
 margin:1.2rem auto 4.5rem;
}
.project_item_detail li {
 width: 19rem;
 font-size: 1.2rem;
 font-weight: 600;
 color: #fff;
 letter-spacing: 0.08em;
 text-align: left;
}
.project_item_detail li:nth-of-type(1),
.project_item_detail li:nth-of-type(3) {
 width: 13rem;
}
.project_item_detail li span {
 font-size: 1rem;
 border-radius:.2rem;
 padding: 0 1rem;
 margin-right:.5rem;
}

.project_splide .splide__arrow {
 width:3rem;
 height:3rem;
 border-radius:.3rem;
}
.project_splide .splide__arrow svg {
 width: 1rem;
 height:1.1rem;
}

.project_splide .splide__arrow--prev {
 right: auto;
 margin: 0 ;
 left:3.2rem;
}
.project_splide .splide__arrow--next {
 left: auto;
 margin: 0 ;
 right: 3.2rem;
}

.project_bg_splide  img {
 height: 100% !important;
 object-fit: cover;
 object-position: center;
}

/*                        catalog                        */
.catalog_container {
 padding: 7.5rem 0 7rem;
}
.catalog_inner {
 width:33.5rem;
}

.catalog_img {
 width: 8.6rem;
 top: -3.5rem;
 right: 0;

}

.catalog_bg_txt {
 font-size: 4.5rem;
 top:-2.5rem;
}

.catalog_ttl {
 font-size: 2.4rem;

}
.catalog_menu {
 flex-direction: column;
 gap:  4.5rem 0;
 margin-top: 2rem;
}
.catalog_menu dl {
 width:  100%;
}
.catalog_menu dt {
font-size:1.8rem;
border-bottom: #082275 solid .1rem;
margin-bottom: 1.5rem;
}
.catalog_menu dd {
 gap:.8rem 0;
}
.catalog_menu dd a{
 padding:  .8rem  2rem;
border-radius: .5rem;
}
.catalog_menu dd a::before {
 width: 1.8rem;
 height:1.6rem;
 right: 1.5rem;
}





/*                        faq                        */
.faq_container {
 padding:7.5rem 0 ;
}
.faq_inner {
 width:33.5rem;
}
.faq_bg_txt {
 font-size: 6rem;
 top: -4rem;
}

.faq_ttl {
 font-size: 2.4rem;
 margin-bottom:3.5rem;
}

.faq_item {
 margin-top: 1.5rem;
 border-radius:  .5rem;
}
.faq_btn {
 width: 100%;
 padding:1.5rem 2rem;
}
.faq_btn .txt {
 font-size: 1.8rem;

}
.faq_icon {
 width:2rem;
 right: 2.2rem;

}
.faq_icon::before {
 width:2rem;
 border: solid #082275 .1rem;
 border-radius: 1rem;
}
.faq_icon::after {
 width:2rem;
 border: solid #082275 .1rem;
 border-radius: 1rem;
}

.accordion_item {
 width: 29rem;
}
.accordion_item dl {
 padding-bottom: 3rem;
}
.accordion_item dl:last-of-type {
 padding-bottom:  2rem;
}
.accordion_item dt{
font-size: 1.4rem;
border-bottom:  #082275 solid .1rem;
padding-bottom:  .5rem;
display: flex;
align-items: baseline;
line-height: 1.84;
text-align: left;
}
.accordion_item dt span {
 font-size: 1.6rem;
 margin-right: 1rem;
}
.accordion_item dd {
 font-size: 1.4rem;
 line-height: 1.84;
 margin-top: .5rem;
}

.accordion_item dd ul {
 gap: 0  1rem;
}
.accordion_item dd span {
font-size: 1rem;
}

.faq_item_txt_ttl {
 font-size: 1.6rem;
}
.faq_item_txt_ttl:nth-of-type(2) {
 margin-top: 2rem;

}




/*                        contact                        */
.contact_container {
 background: url(../images/contact_bg_sp.webp) no-repeat;
 background-size: cover;
}

.contact_inner {
padding: 7rem 0  7.5rem;
}
.contact_ttl {
 font-size: 2.4rem;
}

.contact_bg_txt {
font-size: 7.8rem;
top: 1.5rem;
left:-.5rem;

}

.contact_mail  {
width: 33.5rem;
 border-radius: .5rem;
 padding:  2rem 0 3.6rem;
 margin-top: 4rem;
}
.contact_mail  p {
 font-size: 2rem;
 margin-bottom:  1.5rem;
}
.contact_mail  .btn {
 width: 29rem;
 border-radius: 3.7rem;
}
.contact_mail .btn a {
 font-size: 1.4rem;
 line-height: 1.86;
padding: 1.1rem 0;
}

.contact_mail .btn a::before {
 border-radius: 3.7rem;
 height: 95%;

}


.contact_tell {
 width: 33.5rem;
 border-radius: .5rem;
 padding:  3rem 0;
 margin-top: 3rem
}
.contact_tell_ttl {
 font-size: 2rem;
 margin-bottom: 1rem;
}
.contact_tell_txt {
 width: 29rem;
 margin: 0 auto;
 font-size: 1.6rem;
 text-align: justify;
}
.contact_tell_txt  span {
 font-size: 1rem;
 margin-top: 1rem;
}

.contact_map {
 flex-direction: column;
 width:29rem;
 margin: 2rem auto 0;

}
.map_img {
 width:25rem;
 margin: 0 auto;
}

.map_detail {
 width:100%;
 margin-top: 6rem;
}
.map_detail dl {
margin-bottom:2.5rem;
}
.map_detail dt {
font-size: 1.8rem;
gap: 0 1rem;
margin-bottom:1rem;
}
.map_detail dt::before {
 width: 1.7rem;
 height: 1.7rem;
 border-radius:.3rem;
}
.map_detail dd {
font-size: 1.2rem;
font-weight: 600;
letter-spacing: 0.1em;
line-height: 1.66;
}




/*                        footer                        */
.footer_inner {
 padding:3.3rem 0 1rem;
}

.footer_logo {
 width:25rem;
}
.copy {
 font-size: 1rem;
 margin-top:2rem;
}

}
