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

/* font-family: "Josefin Sans", sans-serif; */
/* font-family: "Zen Kaku Gothic New", sans-serif; */
/*                       header                    */
header {
 position: fixed;
 top: 0;
 width: 100%;
 z-index: 99;

}
#column_page  header ,
#case_page  header {
 background-color: #fff;
}
header::before {
 content: '';
 width: 100%;
 height: 100%;
 background: #fff;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
 transition: .4s;
 transform: translateY(-100%);
}
header.show::before {
 transform: translateY(0%);
}
.hd_inner {
 padding: min(2rem, calc(20vw / 13.66));
}
.hd_flex {
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.hd_logo {
 width: min(25.8rem, calc(258vw / 13.66));
}
.hd_logo a {
 width: 100%;
 display: block;
 position: relative;
}
@media (hover: hover)  and (pointer: fine){
 .hd_logo  a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
}

.hd_logo a::before {
 content: '';
 width: 100%;
 height: 100%;
 background: url(../images/hd_logo_02.webp) no-repeat;
 background-size: contain;
 position: absolute;
 top: 0;
 left: 0;
 opacity: 0;
 transition: .4s;
}
.show .hd_logo a::before  {
 opacity: 1;
}
.hd_menu {
 width: min(100rem, calc(1000vw / 13.66));
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.hd_menu_list {
 width: min(58rem, calc(580vw / 13.66));
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.hd_menu_list a {
 font-size: 1.4rem;
 color: #fff;
 position: relative;
 display: block;
}
.hd_menu_list a::before {
 content: '';
 width: 100%;
 border: min(.1rem, calc(1vw / 13.66)) solid #fff;
 position: absolute;
 bottom: 0;
 left: 0;
 transform-origin: center;
 transform: scale(0,1);
 transition: .4s;
}
.show .hd_menu_list a  {
 color: #3c3c3c;
}
#column_page .hd_menu_list a ,
#case_page .hd_menu_list a {
 color: #3c3c3c;
}
.show .hd_menu_list a::before  {
 border: min(.1rem, calc(1vw / 13.66)) solid #3c3c3c;
}
#column_page  .hd_menu_list a::before ,
#case_page  .hd_menu_list a::before {
 border: min(.1rem, calc(1vw / 13.66)) solid #3c3c3c;
}

@media (hover: hover)  and (pointer: fine){
 .hd_menu_list a:where(:any-link, :enabled, summary):hover::before {
transform: scale(1);
 }
}
.hd_btn {
 width: min(38rem, calc(380vw / 13.66));
 display: flex;
 align-items: center;
 justify-content: space-between;
}
.hd_btn a {
 width: min(18.5rem, calc(185vw / 13.66));
 display: block;
 background-color: #0a50f0;
 font-size: 1.4rem;
 color: #fff;
 font-weight: 600;
 border-radius: min(2rem, calc(20vw / 13.66));
 padding: min(0.6rem, calc(6vw / 13.66)) 0;
 box-sizing: border-box;
 box-shadow: 0 min(0.4rem, calc(4vw / 13.66)) 0 #addef8;
 position: relative;
 transition: .4s;
}
@media (hover: hover)  and (pointer: fine){
 .hd_btn  a:where(:any-link, :enabled, summary):hover {
  transform: translateY(min(0.4rem, calc(4vw / 13.66)));
  box-shadow:none;
 }
}

.hd_btn a span {
 display: block;
 width: min(1rem, calc(10vw / 13.66));
 height: min(1rem, calc(10vw / 13.66));
 background-color: #fff;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1rem, calc(10vw / 13.66));
 border-radius: 50%;
}
.hd_btn a span::before {
 content: "";
 width: 0;
 height: 0;
 border-left: min(0.4rem, calc(4vw / 13.66)) solid #0a50f0;
 border-top: min(0.2rem, calc(2vw / 13.66)) solid transparent;
 border-bottom: min(0.2rem, calc(2vw / 13.66)) solid transparent;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
}
.nav {
 display: none;
}

.section_content {
 padding-top: min(8rem, calc(80vw / 13.66));
 margin-top: max(-8rem, calc(-80vw / 13.66));
 position: relative;
 z-index: 1;
}

.section_ttl {
 font-weight: 600;
 text-align: center;
 color: #0a96dc;
}
.section_ttl h2 {
 font-size: 2.3rem;
 letter-spacing: 0.09em;
 font-weight: 600;
 margin-top: min(.5rem, calc(5vw / 13.66));
}

.section_ttl_icon span {
 display: block;
 width: min(3.5rem, calc(35vw / 13.66));
 margin: 0 auto;
}
.section_ttl_icon p {
  font-family: "Josefin Sans", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0;
}

#mv {
 width: 100%;
}
.mv_img {
 width: 100%;
}


/*                       about                    */

.about_inner {
 overflow: hidden;
 padding:  min(9.5rem, calc(95vw / 13.66)) 0 min(10.5rem, calc(105vw / 13.66));
 position: relative;
 background: #0A96DC;
background: linear-gradient(180deg, rgba(10, 150, 220, 1) 0%, rgba(10, 150, 220, 1) 22%, rgba(57, 192, 255, 1) 55%, transparent 55%,transparent 100%);
margin-bottom: min(5rem, calc(50vw / 13.66));
}
.about_bg {
 width: min(192rem, calc(1920vw / 13.66));
 position: absolute;
 top: min(37.7rem, calc(377vw / 13.66));
 left: 50%;
 transform: translateX(-50%);
 z-index: 1;
}

.about_ttl {
 width: min(57.8rem, calc(578vw / 13.66));
 margin: 0 auto;
 position: relative;
 z-index: 1;
}
.about_img {
 width: min(118.5rem, calc(1185vw / 13.66));
 margin:  max(-3rem, calc(-30vw / 13.66)) auto 0;
 position: relative;
 z-index: 0;
}
.about_img_02 {
 width: min(17.5rem, calc(175vw / 13.66));
 position: absolute;
 z-index: 1;
 margin: 0 auto;
 left: min(22rem, calc(220vw / 13.66));
 right: 0;
 top: min(46rem, calc(460vw / 13.66));
}


.about_txt {
 font-size: 1.6rem;
 color: #00469f;
 font-weight: 600;
 line-height: 2.25;
 position: relative;
 z-index: 1;
 margin-top:  min(7rem, calc(70vw / 13.66));
}
.about_txt .mid_txt {
 font-size: 2.3rem;
 display: block;
}
.about_txt .big_txt {
 font-size: 5.8rem;
 display: block;
 line-height: 1.4;
 margin-bottom: min(3rem, calc(30vw / 13.66));
 font-style: italic;
}




/*                       service                    */

.service_inner{
 background: #FFF;
 background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%,rgba(255, 255, 255, 1) min(40rem, calc(400vw / 13.66)),rgba(222, 242, 251, 1) min(40rem, calc(400vw / 13.66)), rgba(222, 242, 251, 1) 100%);
 padding-bottom: min(9rem, calc(90vw / 13.66));
}
.service_item {
 margin: 0 auto;
 width:  min(82rem, calc(820vw / 13.66));
}
.service_item_flex {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin:  min(6rem, calc(60vw / 13.66)) 0  min(1rem, calc(10vw / 13.66));
}
.service_item_copy {
 width:  min(36rem, calc(360vw / 13.66));
 text-align: left;
 font-size: 2.9rem;
 letter-spacing: 0.09em;
 color: #0a96dc;
 font-weight: 600;
}
.service_item_copy  span {
 color: #fff;
 background-color: #0a96dc;
 display: inline-block;
 padding: 0  min(1rem, calc(10vw / 13.66));
}
.service_item_copy  span:first-of-type {
margin-bottom:  min(1rem, calc(10vw / 13.66));
}
.service_item_copy_img {
 width:  min(46rem, calc(460vw / 13.66));
 position: relative;
}
.service_item_copy_img span {
 display: block;
 width:  min(35rem, calc(350vw / 13.66));
 position: absolute;
 top:  min(1.5rem, calc(15vw / 13.66));
 left: 0;
 right: 0;
 margin: 0 auto;
}
.service_item_txt {
 font-size: 1.5rem;
 font-weight: normal;
 line-height: 2.2;
 text-align: justify;
 color: #3c3c3c;
}




/*                       benefit                    */

.benefit_inner {
 background-color: #def2fb;
 padding-bottom:  min(6.5rem, calc(65vw / 13.66)) ;
 overflow: hidden;
 margin-bottom: min(12rem, calc(120vw / 13.66));
}
.benefit_items {
 width:  min(123rem, calc(1230vw / 13.66));
 margin:  min(9rem, calc(90vw / 13.66)) auto 0;

}
.benefit_item {
  width:  min(97.5rem, calc(975vw / 13.66));
  position: relative;
  z-index: 1;
  margin-bottom:  min(15rem, calc(150vw / 13.66));
}
.benefit_item:nth-of-type(even) {
 margin-left: auto;
}
.benefit_item::before {
content: '';
width:  min(184rem, calc(1840vw / 13.66));
height:  min(36rem, calc(360vw / 13.66));
background: #0A96DC;
background: linear-gradient(225deg, rgba(10, 150, 220, 1) 0%, rgba(89, 189, 237, 1) 100%);
position: absolute;
top: 50%;
transform: translateY(-50%) skew(-45deg);
right:  max(-15rem, calc(-150vw / 13.66));
z-index: -1;
}
.benefit_item:nth-of-type(even)::before {
 right: auto;
 left: max(-15rem, calc(-150vw / 13.66));
}
.benefit_item_flex {
 display: flex;
 align-items: center;
 justify-content: space-between;
}
.benefit_item:nth-of-type(even) .benefit_item_flex {
 flex-direction: row-reverse;
}
.benefit_item_num {
 font-size: 14.6rem;
 font-weight: 500;
 font-family: "Josefin Sans", sans-serif;
 color: #ffffff80;
 font-style: italic;
 line-height: 1;
 padding-top:  min(2rem, calc(20vw / 13.66));
}
.benefit_item_txt {
  width:  min(37rem, calc(370vw / 13.66));
  text-align: justify;
  font-size: 1.5rem;
  color: #fff;
  line-height: 1.86;
  letter-spacing: 0.02em;
  font-weight: 600;
}
.benefit_item_txt  span {
font-size: 2.5rem;
font-weight: 600;
line-height: 1.44;
display: block;
margin-bottom:  min(1.5rem, calc(15vw / 13.66));
}
.benefit_item_img {
 width:  min(30.3rem, calc(303vw / 13.66));
}




/*                       news                    */

.news_inner {

 margin-bottom:  min(8rem, calc(80vw / 13.66)) ;
}
.news_item {
 width:  min(91rem, calc(910vw / 13.66));
 margin: min(4rem, calc(40vw / 13.66)) auto 0;
 box-sizing: border-box;
 border-top: #999999 solid min(.1rem, calc(1vw / 13.66));
}
.news_item a {
 color: #3c3c3c;
 display: none;
}
@media (hover: hover)  and (pointer: fine){
 .news_item  a:where(:any-link, :enabled, summary):hover {
  opacity: .6;
 }
}
.news_item a:nth-of-type(1),
.news_item a:nth-of-type(2),
.news_item a:nth-of-type(3) {
 display: block;
}
.news_item  dl {
 width: 100%;
 border-bottom: #999999 solid min(.1rem, calc(1vw / 13.66));
 padding: min(1.5rem, calc(15vw / 13.66)) 0;
 display: flex;
 align-items: stretch;
 justify-content: space-between;
}
.news_item  dt {
 width:  min(9.5rem, calc(95vw / 13.66));
 text-align: left;
 font-size: 1.5rem;
 font-family: "Zen Kaku Gothic New", sans-serif;
 letter-spacing: 0.05em;
 line-height: 1.73;
 box-sizing: border-box;
 padding-left: min(1.5rem, calc(15vw / 13.66));
 border-right: #999999 solid min(.1rem, calc(1vw / 13.66));
 display: flex;
 align-items: flex-start;
 justify-content: center;
 flex-direction: column;
}
.news_item  dt  span {
 display: block;
 font-size: 2.6rem;
 line-height: 1;
}
.news_item  dd {
 width:  min(79.5rem, calc(795vw / 13.66));
 text-align: justify;
 font-size: 1.5rem;
 font-weight: normal;
 line-height: 1.6;
 box-sizing: border-box;
 padding-right: min(7.5rem, calc(75vw / 13.66));
 letter-spacing: 0.05em;
 position: relative;
}

.news_item  dd span {
 width:min(2rem, calc(20vw / 13.66));
 height:min(2rem, calc(20vw / 13.66));
 border-radius: 50%;
 background-color: #0a96dc;
 display: block;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1rem, calc(10vw / 13.66));
 transition: .4s;
}
.news_item  dd span::before {
 content: '';
 width: 0;
 height: 0;
 border-left: min(.8rem, calc(8vw / 13.66)) solid #fff;
 border-top: min(.4rem, calc(4vw / 13.66)) solid transparent;
 border-bottom: min(.4rem, calc(4vw / 13.66)) solid transparent;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: min(.3rem, calc(3vw / 13.66));
 right: 0;
 margin: 0 auto;
}
@media (hover: hover)  and (pointer: fine){
 .news_item  a:where(:any-link, :enabled, summary):hover dd span{
  right:0;
 }
}

.more_btn {
 width:min(7.5rem, calc(75vw / 13.66));
 margin: min(4rem, calc(40vw / 13.66)) auto 0;
 transition: .4s;
}

@media (hover: hover)  and (pointer: fine){
 .more_btn:where(:any-link, :enabled, summary):hover {
  transform: scale(1.1);
 }
}




/*                       work                    */

.work_inner {
background: #FFFFFF;
background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(173, 222, 248, 1) 80%, rgba(222, 230, 255, 1) 80%, rgba(222, 230, 255, 1) 100%);
padding-bottom: min(9rem, calc(90vw / 13.66));

}
.work_inner .section_ttl {
 color: #7093cd;
}
.work_item {
 width:  min(91rem, calc(910vw / 13.66));
 margin:  min(2rem, calc(20vw / 13.66)) auto 0;
 background-color: #7093cd;
 border-radius:  min(3rem, calc(30vw / 13.66));
 box-sizing: border-box;
 padding:  min(3rem, calc(30vw / 13.66));
}
.work_top {
 border-radius:  min(1rem, calc(10vw / 13.66));
 background-color: #fff;
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 0  min(6rem, calc(60vw / 13.66));
 padding: min(2.5rem, calc(25vw / 13.66)) 0;
}
.work_top_img {
 width:  min(22rem, calc(220vw / 13.66));
}
.work_top_detail {
 width:  min(45rem, calc(450vw / 13.66));
 text-align: justify;
}
.work_top_detail_ttl {
 font-size: 1.6rem;
 color: #7093cd;
 font-weight: 600;
 display: flex;
 align-items: flex-end;
 gap: 0  min(2rem, calc(20vw / 13.66));
 margin-bottom: min(1rem, calc(10vw / 13.66));
}
.work_top_detail_ttl  span {
 font-size: 1.2rem;
}

.work_top_detail_txt {
 font-size: 1.4rem;
 font-weight: normal;
 color: #7093cd;
 line-height: 1.7;
}

.work_flex {
 display: flex;
 justify-content:center;
 gap: 0  min(10rem, calc(100vw / 13.66));
 margin-top:  min(3rem, calc(30vw / 13.66));
}
.work_box {
 width: min(24rem, calc(240vw / 13.66));
}
.work_box_ttl {
 width:  min(19rem, calc(190vw / 13.66));
 margin: 0 auto  min(1.5rem, calc(15vw / 13.66));
 text-align: center;
 background-color: #fff;
 border-radius: 50%;
 font-size: 1.8rem;
 color: #7093cd;
 line-height: 1.5;
 padding:  min(5.5rem, calc(55vw / 13.66)) 0;
 font-weight: 600;

}
.work_box_txt {
 text-align: justify;
 font-size: 1.4rem;
 font-weight: normal;
 line-height: 1.7;
 color: #fff;
}




/*                       case                    */

.case_inner  {
 background-color: #dee6ff;
 padding-bottom:  min(11rem, calc(110vw / 13.66));
}
.case_inner .section_ttl {
 color: #7093cd;
}
.case_splide {
 width: min(120rem, calc(1200vw / 13.66)) ;
 margin: 0 auto 0;

}
.case_splide  .splide__track {
 padding:  min(4rem, calc(40vw / 13.66)) 0;
}
.case_box {
 width: min(38rem, calc(380vw / 13.66)) ;
 background-color: #fff;
 border-radius: min(2rem, calc(20vw / 13.66)) ;
 overflow: hidden;
 transition: .4s;
 margin-right:  min(3rem, calc(30vw / 13.66)) !important;
}

.case_box  a {
 color: #3c3c3c;
 display: block;
}
.case_thum {
 overflow: hidden;
}
.case_thum img{
 transition: .4s;
}

@media (hover: hover)  and (pointer: fine){
 .case_box  a:where(:any-link, :enabled, summary):hover .case_thum img{
  transform: scale(1.1);
 }
 .case_box  a:where(:any-link, :enabled, summary):hover {
  color: #0A96DC;
 }
}

.case_detail {
 box-sizing: border-box;
 padding:min(1rem, calc(10vw / 13.66))  min(2rem, calc(20vw / 13.66))  min(1.5rem, calc(15vw / 13.66));
 text-align: justify;
 font-weight: 500;
}
.case_company {
 font-size: 1.5rem;
}
.case_ttl {
 font-size: 2rem;
}

.case_txt {
font-size: 1.4rem;
font-weight: normal;
line-height: 1.85;
}
.case_btn_txt {
 display: flex;
 align-items: center;
 justify-content: flex-end;
 gap:  0 min(1rem, calc(10vw / 13.66));
 font-size: 1.6rem;
 font-weight: 500;
 color: #0a96dc;
 margin-top: min(3rem, calc(30vw / 13.66));
}

.case_btn_txt span {
 width:min(2rem, calc(20vw / 13.66));
 height:min(2rem, calc(20vw / 13.66));
 border-radius: 50%;
 background-color: #0a96dc;
 display: block;
 position: relative;
}
.case_btn_txt span::before {
 content: '';
 width: 0;
 height: 0;
 border-left: min(.8rem, calc(8vw / 13.66)) solid #fff;
 border-top: min(.4rem, calc(4vw / 13.66)) solid transparent;
 border-bottom: min(.4rem, calc(4vw / 13.66)) solid transparent;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: min(.3rem, calc(3vw / 13.66));
 right: 0;
 margin: 0 auto;
}




/*                       column                    */

.column_inner {
 padding-top: min(8rem, calc(80vw / 13.66));
 background-color: #f2f2f2;
 padding-bottom: min(19rem, calc(190vw / 13.66)) ;
}
.column_splide {
 width: min(120rem, calc(1200vw / 13.66)) ;
 margin:0 auto 0;
}
.column_splide  .splide__track {
 padding:  min(4rem, calc(40vw / 13.66)) 0 0;
}
.column_box {
 width: min(38rem, calc(380vw / 13.66)) ;
 transition: .4s;
 margin-right: min(3rem, calc(30vw / 13.66)) !important;
}
.column_box a {
 display: block;
 color: #3c3c3c;

}

.column_thum {
 overflow: hidden;
}
.column_thum img{
 transition: .4s;
}

@media (hover: hover)  and (pointer: fine){
 .column_box  a:where(:any-link, :enabled, summary):hover .column_thum img{
  transform: scale(1.1);
 }
 .column_box  a:where(:any-link, :enabled, summary):hover {
  color: #0A96DC;
 }
}
.column_detail {
 font-size: 1.8rem;
 font-weight: 500;
 line-height: 1.66;
 text-align: justify;
 margin-top:  min(1.5rem, calc(15vw / 13.66));
}

.column_btn_txt {
 display: flex;
 align-items: center;
 justify-content: flex-end;
 gap:  0 min(1rem, calc(10vw / 13.66));
 font-size: 1.6rem;
 font-weight: 500;
 color: #0a96dc;
 margin-top: min(4rem, calc(40vw / 13.66));
}


.column_btn_txt span {
 width:min(2rem, calc(20vw / 13.66));
 height:min(2rem, calc(20vw / 13.66));
 border-radius: 50%;
 background-color: #0a96dc;
 display: block;
 position: relative;
}
.column_btn_txt span::before {
 content: '';
 width: 0;
 height: 0;
 border-left: min(.8rem, calc(8vw / 13.66)) solid #fff;
 border-top: min(.4rem, calc(4vw / 13.66)) solid transparent;
 border-bottom: min(.4rem, calc(4vw / 13.66)) solid transparent;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: min(.3rem, calc(3vw / 13.66));
 right: 0;
 margin: 0 auto;
}




/*                       faq                    */
.faq_inner {
 background-color: #d6eefb;
 padding-top:  min(8rem, calc(80vw / 13.66));
 padding-bottom:  min(12.5rem, calc(125vw / 13.66));
}
.faq_inner  .section_ttl_icon span {
 width:  min(4.2rem, calc(42vw / 13.66));
}

.faq_content  {
margin-top:min(3.5rem, calc(35vw / 13.66)) ;
}
.faq_item {
 width:  min(80rem, calc(800vw / 13.66));
 margin: 0 auto  min(1.5rem, calc(15vw / 13.66));
}
.faq_item:last-of-type {margin-bottom: 0;}
.faq_btn {
 display: block;
 width: 100%;
 background-color: #0a96dc;
 box-sizing: border-box;
 padding: min(1rem, calc(10vw / 13.66));
 text-align: justify;
 position: relative;
 display: flex;
 align-items: center;
 gap: 0  min(2rem, calc(20vw / 13.66));
 transition: .4s;
 box-sizing: border-box;

}
.faq_btn .q {
 width:  min(4rem, calc(40vw / 13.66));
 font-family: "Josefin Sans", sans-serif;
 font-weight: normal;
 font-size: 2.4rem;
 color: #0a96dc;
 background-color: #fff;
 text-align: center;
 padding: min(1.1rem, calc(11vw / 13.66)) 0 min(.5rem, calc(5vw / 13.66));
 line-height: 1;
 transition: .4s;
}
.faq_btn  .ttl {
 font-size: 1.6rem;
 font-weight: 600;
 color: #fff;
 transition: .4s;
}
.faq_btn .faq_icon {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1.5rem, calc(15vw / 13.66));
 width: min(1.8rem, calc(18vw / 13.66));
}
.faq_btn .faq_icon::before {
 content: '';
 position: absolute;
 top: 50%;
 left: 0;
 right: 0;
 margin: 0 auto;
 transform: translateY(-50%);
 height:  min(.3rem, calc(3vw / 13.66));
 width:100%;
 background-color: #fff;
 transition: .4s;
}
.faq_btn .faq_icon::after {
 content: '';
 position: absolute;
 top: 50%;
 left: 0;
 right: 0;
 margin: 0 auto;
 transform: translateY(-50%) rotate(90deg);
 height:  min(.3rem, calc(3vw / 13.66));
 width:100%;
 background-color: #fff;
 transition: .4s;
}
.faq_btn.open .faq_icon::after {
 transform: translateY(-50%) rotate(-180deg);
}

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


.faq_item_txt  {
 display: none;
}
.faq_item_txt  > div{
 width: 100%;
 gap: 0  min(2rem, calc(20vw / 13.66));
 margin-top:  min(1rem, calc(10vw / 13.66));
 display: flex;
 align-items: baseline;
 background-color: #fff;
 box-sizing: border-box;
 padding: min(1rem, calc(10vw / 13.66)) min(1rem, calc(10vw / 13.66)) min(2rem, calc(20vw / 13.66));
}
.faq_item_txt  > div .a {
 width:  min(4rem, calc(40vw / 13.66));
 font-family: "Josefin Sans", sans-serif;
 font-weight: normal;
 font-size: 2.4rem;
 color: #fff;
 line-height: 1;
 background-color: #0a96dc;
 text-align: center;
 padding: min(1.1rem, calc(11vw / 13.66)) 0 min(.5rem, calc(5vw / 13.66));
}
.faq_item_txt  > div p {
 width: min(71rem, calc(710vw / 13.66)) ;
 text-align: justify;
 font-size: 1.5rem;
 font-weight: normal;
 line-height: 1.33;
}




/*                       contact                    */

.contact_inner {
 background: #00469F;
background: linear-gradient(180deg, rgba(0, 70, 159, 1) 0%, rgba(89, 189, 237, 1) 100%);
padding:  min(10rem, calc(100vw / 13.66)) 0  min(13rem, calc(130vw / 13.66));
}
.contact_ttl {
 font-size: 2.4rem;
 font-weight: 600;
 text-align: center;
 line-height: 1.75;
 color: #fff;
}
.contact_item {
 width:  min(120rem, calc(1200vw / 13.66));
 margin: min(7rem, calc(70vw / 13.66)) auto 0;
 display: flex;
/* 変更前: justify-content: space-between; */
 justify-content: center; /* 中央揃えに変更 */
 gap: min(10rem, calc(100vw / 13.66)); /* 要素間の間隔を追加 */
}
.contact_box {
 width:  min(38rem, calc(380vw / 13.66));
 position: relative;

}
.contact_txt {
 font-size: 1.6rem;
 color: #fff;
 margin-bottom: min(1rem, calc(10vw / 13.66));
}

.contact_btn {
 width:  min(22.5rem, calc(225vw / 13.66));
 position: absolute;
 left: 0;
 right: 0;
 margin: 0 auto;
 bottom: max(-3rem, calc(-30vw / 13.66));
}
.contact_btn a {
 display: block;
 width: 100%;
 background-color: #0a50f0;
 font-size: 1.8rem;
 font-weight: 600;
 color: #fff;
 padding: min(1.2rem, calc(12vw / 13.66)) 0;
 border-radius:  min(3rem, calc(30vw / 13.66));
 transition: .4s;
 box-shadow: 0  min(.4rem, calc(4vw / 13.66)) 0 #addef8;
}


@media (hover: hover)  and (pointer: fine){
 .contact_btn a:where(:any-link, :enabled, summary):hover {
  box-shadow: none;
  transform: translateY(min(.4rem, calc(4vw / 13.66)));
 }
}


.contact_btn span {
 width:min(2rem, calc(20vw / 13.66));
 height:min(2rem, calc(20vw / 13.66));
 border-radius: 50%;
 background-color: #fff;
 display: block;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1.5rem, calc(15vw / 13.66));
}
.contact_btn span::before {
 content: '';
 width: 0;
 height: 0;
 border-left: min(.8rem, calc(8vw / 13.66)) solid #0a50f0;
 border-top: min(.4rem, calc(4vw / 13.66)) solid transparent;
 border-bottom: min(.4rem, calc(4vw / 13.66)) solid transparent;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: min(.3rem, calc(3vw / 13.66));
 right: 0;
 margin: 0 auto;
}




/*                       footer                    */
.footer_inner {
 padding-top: min(9rem, calc(90vw / 13.66));
 border-bottom: #0a96dc solid min(1.1rem, calc(11vw / 13.66));
}
.logo {
 width:  min(25.8rem, calc(258vw / 13.66));
 margin: 0 auto  min(20rem, calc(200vw / 13.66));
}

.footer_flex {
 padding: 0 min(3rem, calc(30vw / 13.66));
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 margin-bottom: min(1rem, calc(10vw / 13.66));
}
.footer_detail {
 display: flex;
 align-items: flex-end;
 gap: 0 min(3.5rem, calc(35vw / 13.66));
 margin-bottom: min(1rem, calc(10vw / 13.66));
}
.footer_logo {
 width: min(16.2rem, calc(162vw / 13.66));
}
@media (hover: hover)  and (pointer: fine){
 .footer_logo a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
}
.footer_txt {
 text-align: justify;
 font-size: 1.2rem;
 font-weight: normal;
}
.footer_txt a {
 color: #3c3c3c;
}
.footer_txt p  a {
 pointer-events: none;
}
.footer_txt ul {
 width:  min(29rem, calc(290vw / 13.66));
 display: flex;
 justify-content: space-between;
 border-left:  #3c3c3c solid min(.1rem, calc(1vw / 13.66));
 border-right:  #3c3c3c solid min(.1rem, calc(1vw / 13.66));
 margin-top: min(1rem, calc(10vw / 13.66));
}
.footer_txt ul a {
 display: block;
 padding: 0 min(2rem, calc(20vw / 13.66));
 box-sizing: border-box;
 line-height: 1;
 position: relative;
}
.footer_txt ul a  span {
 display: inline-block;
 position: relative;
}
.footer_txt ul a span::before {
 content: '';
 width: 100%;
 border: min(.1rem, calc(1vw / 13.66)) solid #3c3c3c;
 position: absolute;
 bottom:  max(-.5rem, calc(-5vw / 13.66)) ;
 left: 0;
 transform-origin: center;
 transform: scale(0,1);
 transition: .4s;
}
@media (hover: hover)  and (pointer: fine){
.footer_txt ul a:where(:any-link, :enabled, summary):hover  span::before{
  transform: scale(1);
 }
}
.footer_txt ul li:first-of-type a {
border-right:  #3c3c3c solid min(.1rem, calc(1vw / 13.66));
}

.copy {
 font-family: "Josefin Sans", sans-serif;
 font-size: 1.2rem;
 font-weight: 400;
}




@media screen and (max-width: 767px) {
/*                       header                    */

.hd_inner {
 padding:1.5rem;
}
.hd_logo {
 width:17.2rem;
}

.hd_menu {
 display: none;
}

.nav_btn {
 width: 2.7rem;
 padding: 0.5rem 0;
 position: relative;
 z-index: 10;
}
.nav_btn span {
 display: block;
 width: 100%;
 height: .2rem;
 background: #fff;
 transition: .4s;
}
.show .nav_btn span,
.show .nav_btn::before ,
.show .nav_btn::after {
 background-color: #0A96DC;
}
#column_page  .nav_btn span ,
#column_page  .nav_btn::before ,
#column_page  .nav_btn::after,
#case_page  .nav_btn span ,
#case_page  .nav_btn::before ,
#case_page  .nav_btn::after
 {
background-color: #0A96DC;
}
.nav_btn.open span {
 opacity: 0;
}
.nav_btn::before  {
 content: '';
 width: 100%;
 height: .2rem;
 background: #fff;
 position: absolute;
 top: 0;
 left: 0;
 transition: .4s;
}
.nav_btn::after  {
 content: '';
 width: 100%;
 height: .2rem;
 background: #fff;
 position: absolute;
 bottom: 0;
 left: 0;
 transition: .4s;
}
.nav_btn.open::before  {
 transform: rotate(25deg);
 top: 0.5rem;
 background-color: #0A96DC;
}
.nav_btn.open::after  {
 transform: rotate(-25deg);
 bottom: 0.5rem;
 background-color: #0A96DC;
}

.nav {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100vh;
 height: 100dvh;
 background-color: #ffffff;
 overflow: scroll;
 display: none;
}
.nav_bg {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
.nav_inner {
 width: 21.5rem;
 margin: 0 auto;
 position: relative;
 z-index: 5;
 margin-top: 10rem;
}
.nav_menu li {
 width: 100%;
 text-align: left;
 margin-bottom: 1rem;
}
.nav_menu li a {
 text-align: left;
 font-size: 2rem;
 font-weight: 600;
 color: #0a96dc;
}
.nav_menu_btn {
 width: 100%;
 margin-top: 4rem;
}
.nav_menu_btn a{
 display: block;
 width: 100%;
 font-size: 1.8rem;
 color: #fff;
 background-color: #0a50f0;
 border-radius: 2.4rem;
 padding: 0.5rem 0;
 box-shadow: 0 .5rem 0 #addef8;
 margin-bottom: 2.7rem;
 position: relative;
}
.nav_menu_btn a span {
 width: 1.1rem;
 height: 1.1rem;
 border-radius: 50%;
 background-color: #fff;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
right: 1.5rem;
}
.nav_menu_btn a span::before {
 content: '';
 width: 0;
 height: 0;
 border-left: .4rem solid #0a50f0;
 border-top: .2rem solid transparent;
 border-bottom: .2rem solid transparent;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0.1rem;
 right: 0;
 margin: 0 auto;
}

.section_content {
 padding-top:5rem;
 margin-top:-5rem;
}

.section_ttl h2 {
 font-size: 1.6rem;
 margin-top:.5rem;
}

.section_ttl_icon span {
 width:3rem;
 margin: 0 auto;
}
.section_ttl_icon p {
  font-size: 1.3rem;
}


#mv {
 width: 100%;
 position: relative;
}
.mv_img {
 width: 100%;
}
.scroll_bar {
 width: 1.8rem;
 position: absolute;
 bottom: 4.2rem;
 left: 0;
 right: 0;
 margin: 0 auto;
 clip-path: inset(0 0 100%  0);
 animation: scroll;
 animation-duration: 4s;
 animation-timing-function: linear;
 animation-iteration-count: infinite;
}

@keyframes scroll {
 0% {
  clip-path: inset(0 0 100%  0);
 }
 25% {
  clip-path: inset(0);
 }
 50% {
  clip-path: inset(0);
 }
 75% {
  clip-path: inset(100% 0 0 0);
 }
 100% {
  clip-path: inset( 100% 0 0 0);
 }

}

/*                       about                    */

.about_inner {
 padding: 4.5rem 0 10.5rem;
background: linear-gradient(180deg, rgba(10, 150, 220, 1) 0%, rgba(10, 150, 220, 1) 22%, rgba(57, 192, 255, 1) 60%, transparent 60%,transparent 100%);
margin-bottom:0;
}
.about_bg {
 width: 100%;
 top: 38.7rem;
}

.about_ttl {
 width: 35rem;
}
.about_img {
 width:33.3rem;
 margin: 2.5rem auto 0;
}
.about_img_02 {
 width:8.6rem;
 left: 11rem;
 top: 47rem;
}


.about_txt {
 font-size: 1.3rem;
 line-height: 2.1;
 margin-top:  2.5rem;
}
.about_txt .mid_txt {
 font-size: 1.3rem;
}
.about_txt .big_txt {
 font-size: 3.2rem;
 line-height: 1.2;
 margin-bottom: 1.5rem;
}




/*                       service                    */

.service_inner{
 background: #FFF;
 background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%,rgba(255, 255, 255, 1) 35rem,rgba(222, 242, 251, 1) 35rem, rgba(222, 242, 251, 1) 100%);
 padding-bottom: 8rem;
}
.service_item {
 width: 34.5rem;
}
.service_item_flex {
 flex-direction: column;
 margin: 2rem 0  1.5rem;
}
.service_item_copy {
 width:100%;
 font-size: 2.3rem;
 text-align: center;
}
.service_item_copy  span {
 padding: 0 .5rem;
 font-size: 2.7rem;
}
.service_item_copy  span:first-of-type {
margin-bottom:  0;
margin-right: 0.5rem;
}
.service_item_copy_img {
 width:  30rem;
 margin-top: 2.5rem;
}
.service_item_copy_img span {
 width:  22.8rem;
 top: 1rem;
}
.service_item_txt {
 font-size: 1.4rem;
 line-height: 2;
}




/*                       benefit                    */

.benefit_inner {
 padding-bottom: 0rem ;
 margin-bottom:10rem;
}
.benefit_items {
 width: 100%;
 margin:  5rem auto 0;

}
.benefit_item {
  width:100%;
  margin: 0 auto;
  margin-bottom:  6rem;
  background: #0A96DC;
background: linear-gradient(225deg, rgba(10, 150, 220, 1) 0%, rgba(89, 189, 237, 1) 100%);
padding: 2.5rem 2.5rem 4.5rem;
box-sizing: border-box;
position: relative;
}

.benefit_item::after {
 content: '';
 width: 12.5rem;
 height: 15rem;
 background-color: #def2fb;
 clip-path: polygon(100% 0, 0% 100%, 100% 100%);
 position: absolute;
 bottom: -.1rem;
 right: 0;
}
.benefit_item:nth-of-type(even)::after {
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
  left: 0;
  right: auto;

}

.benefit_item::before {
content: none;
}

.benefit_item_flex {
 flex-direction: column;
 align-items: flex-start;
}
.benefit_item:nth-of-type(even) .benefit_item_flex {
 flex-direction:column;
}
.benefit_item_num {
 font-size: 5.2rem;
 padding-top: 0;

}
.benefit_item_txt {
  width:  100%;
  font-size: 1.4rem;
  line-height: 1.92;
  margin: 1.5rem 0 3.5rem;
}
.benefit_item_txt  span {
font-size: 2.2rem;
margin-bottom:  1.5rem;
}
.benefit_item_img {
 width: 23.5rem;
 margin-left: 2rem;
}
.benefit_item:nth-of-type(even)  .benefit_item_img {
 width: 25.5rem;
 margin-left: auto;
 margin-right: 2rem;
}




/*                       news                    */

.news_inner {
 margin-bottom: 6rem ;
}
.news_item {
 width: 35.7rem;
 margin:2.5rem auto 0;
 border-top: #999999 solid .1rem;
}

.news_item  dl {
 width: 100%;
 border-bottom: #999999 solid.1rem;
 padding:1.5rem 0;
}
.news_item  dt {
 width: 6.2rem;
 font-size: 1.3rem;
 padding-left: .7rem;
 border-right: #999999 solid.1rem;
}
.news_item  dt  span {
 display: block;
 font-size: 1.9rem;
 line-height: 1;
}
.news_item  dd {
 width: 28rem;
 font-size: 1.4rem;
 padding-right: 4.5rem;
}

.news_item  dd span {
 width:1.7rem;
 height:1.7rem;
 right:1rem;
}
.news_item  dd span::before {
 border-left:.7rem solid #fff;
 border-top:.3rem solid transparent;
 border-bottom:.3rem solid transparent;
 left: .2rem;
}

.more_btn {
 width:7rem;
 margin: 3.5rem auto 0;
}



/*                       work                    */

.work_inner {
background: #FFFFFF;
background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(173, 222, 248, 1) 85%, rgba(222, 230, 255, 1) 85%, rgba(222, 230, 255, 1) 100%);
padding-bottom: 10rem;

}

.work_item {
 width: 34.5rem;
 margin: 5rem auto 0;
 border-radius: 1.3rem;
 padding:  1.5rem 1.5rem 3rem;
}
.work_top {
 border-radius: .45rem;
 gap:3.5rem 0  ;
 padding:3.5rem 1.5rem 2rem;
 flex-direction: column;
}
.work_top_img {
 width: 20rem;
}
.work_top_detail {
 width: 100%;
}
.work_top_detail_ttl {
 font-size: 1.9rem;
 flex-direction: column;
 gap: 0 ;
 line-height: 1.6;
 align-items: flex-start;
 margin-bottom: 1rem;
}
.work_top_detail_ttl  span {
 font-size: 1.3rem;
}

.work_top_detail_txt {
 font-size: 1.4rem;
}

.work_flex {
 align-items: center;
 flex-direction: column;
 gap: 2.5rem 0;
 margin-top:  3.8rem;
}
.work_box {
 width:27rem;
}
.work_box_ttl {
 width: 21.5rem;
 margin: 0 auto  2rem;
 font-size: 2rem;
 padding: 6.2rem 0;

}
.work_box_txt {
 font-size: 1.4rem;
}




/*                       case                    */

.case_inner  {
 padding-bottom:  11.5rem;
}
.case_splide {
 width:100%;
 padding-left: 2.5rem;
 box-sizing: border-box;
}
.case_splide  .splide__track {
 padding: 3rem 0 4.5rem;
}
.case_box {
 width: 32rem ;
 border-radius:1.8rem ;
  margin-right:  1rem !important;
}

.case_detail {
 padding:1.5rem  2rem  1.5rem;
}
.case_company {
 font-size: 1.4rem;
}
.case_ttl {
 font-size: 1.8rem;
}

.case_txt {
font-size: 1.4rem;
}
.case_btn_txt {
 gap:  0 1rem;
 font-size: 1.4rem;
 margin-top: 2.5rem;
}

.case_btn_txt span {
 width:1.8rem;
 height:1.8rem;
}
.case_btn_txt span::before {
 border-left:.7rem solid #fff;
 border-top:.35rem solid transparent;
 border-bottom:.35rem solid transparent;
 left: .2rem;
}
.case_splide .splide__arrow {
 width: 1.7rem;
 height: 1.5rem;
 background: transparent;
 opacity: 1;
 top: auto;
 transform: none;
 left: 0;
 right: -7rem;
 margin: 0 auto;
 background: url(../images/arrrow.svg) no-repeat;
 background-size: cover;
 bottom: 0;
 border-radius: 0;
}
.case_splide  .splide__arrow--prev{
 background: url(../images/arrrow.svg) no-repeat;
 background-size: cover;
 transform: scale(-1,1);
 left: -7rem;
 right: 0;
}
.splide__arrow svg {
 display: none;
}




/*                       column                    */

.column_inner {
 padding-top:8.5rem;
 padding-bottom:8rem ;
}
.column_splide {
 width: 100% ;
 margin:0  auto 0;
 padding-left: 2.5rem;
 box-sizing: border-box;
}
.column_splide  .splide__track {
 padding:  4rem 0 5rem;
}
.column_box {
 width:32rem;
 margin-right: 1rem !important;
}

.column_detail {
 font-size: 1.6rem;
 margin-top: 1.5rem;
}

.column_btn_txt {
 gap:  0 1rem;
 font-size: 1.4rem;
 margin-top:4rem;
}


.column_btn_txt span {
 width:1.8rem;
 height:1.8rem;
}
.column_btn_txt span::before {
 border-left:.7rem solid #fff;
 border-top: .35rem solid transparent;
 border-bottom: .35rem solid transparent;
 left:.2rem;
}
.column_splide .splide__arrow {
 width: 1.7rem;
 height: 1.5rem;
 background: transparent;
 opacity: 1;
 top: auto;
 transform: none;
 left: 0;
 right: -7rem;
 margin: 0 auto;
 background: url(../images/arrrow.svg) no-repeat;
 background-size: cover;
 bottom: 0;
 border-radius: 0;
}
.column_splide  .splide__arrow--prev{
 background: url(../images/arrrow.svg) no-repeat;
 background-size: cover;
 transform: scale(-1,1);
 left: -7rem;
 right: 0;
}
.splide__arrow svg {
 display: none;
}





/*                       faq                    */
.faq_inner {
 padding-top: 9.5rem;
 padding-bottom:  12rem;
}
.faq_inner  .section_ttl_icon span {
 width:  3.4rem;
}

.faq_content  {
margin-top:5rem ;
}
.faq_item {
 width: 34.5rem;
 margin: 0 auto 1.5rem;
}

.faq_btn {
 padding:1rem;
 gap: 0  1.7rem;
 border:none;
}
.faq_btn .q {
 width:  3.6rem;
 font-size: 2.1rem;
 padding:1rem 0 .5rem;
}
.faq_btn  .ttl {
 font-size: 1.4rem;
 line-height: 1.32;
}
.faq_btn .faq_icon {
 right: 1.5rem;
 width:1.6rem;
}
.faq_btn .faq_icon::before {
 height: .3rem;
}
.faq_btn .faq_icon::after {
 height: .3rem;
}




.faq_item_txt  > div{
 gap: 0 1.7rem;
 margin-top: .2rem;
 padding: 1rem 1rem 2rem;
}
.faq_item_txt  > div .a {
 width: 3.6rem;
 font-size: 2.1rem;
 padding: 1rem 0 .5rem;
}
.faq_item_txt  > div p {
 width:26.6rem;
 font-size: 1.4rem;
 line-height: 1.33;
}




/*                       contact                    */

.contact_inner {
padding: 7.5rem 0 9.5rem;
}
.contact_ttl {
 font-size: 2.6rem;
}
.contact_item {
 width:  28.8rem;
 margin:4rem auto 0;
 gap: 6rem 0;
 flex-direction: column;
}
.contact_box {
 width: 100%;

}
.contact_txt {
 margin-bottom:1rem;
}

.contact_btn {
 width: 20rem;
 bottom:-3rem;
}
.contact_btn a {
 font-size: 1.6rem;
 padding: 1rem 0;
 border-radius: 3rem;
 box-shadow: 0  .4rem 0 #addef8;
}




.contact_btn span {
 width:1rem;
 height:1rem;
 right:1.5rem;
}
.contact_btn span::before {

 border-left:.4rem solid #0a50f0;
 border-top:.2rem solid transparent;
 border-bottom:.2rem solid transparent;
 left: 0.1rem;
}



.banner {
 position: fixed;
 bottom: 0;
 left: 0;
 width: 100%;
 display: flex;
 align-items: center;
 justify-content: center;
 z-index: 50;
 padding-bottom: 1.3rem ;
 gap:0 .7rem ;
  background: #0A96DC;
background: linear-gradient(180deg ,transparent 0%,transparent 1.8rem, #fff 1.8rem,#fff 100%);
}
.banner a {
 width: 17.8rem;
 background-color: #0a50f0;
 font-size: 1.4rem;
 color: #ffffff;
 font-weight: 600;
 border-radius: 2rem;
 padding: 0.6rem 0;
 box-shadow: 0 .4rem 0 #addef8;
 position: relative;
}
.banner a span {
 display: block;
 width: .9rem;
 height: .9rem;
 background-color: #fff;
 border-radius: 50%;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: 1rem;
}
.banner a span::before {
 content: '';
 width: 0;
 height: 0;
 border-left: .4rem solid #0a50f0;
 border-top: .2rem solid transparent;
 border-bottom: .2rem solid transparent;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: .1rem;
 right: 0;
 margin: 0 auto;
}




/*                       footer                    */
.footer_inner {
 padding-top: 4rem;
 border-bottom: #0a96dc solid 1rem;
 margin-bottom: 5.3rem;
}
.logo {
 width: 23.2rem;
 margin: 0 auto 11rem;
}

.footer_flex {
 padding: 0;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 margin-bottom: min(1rem, calc(10vw / 13.66));
}
.footer_detail {
 align-items: center;
 justify-content: center;
 flex-direction: column;
 margin: 0 auto;
 gap: 0 ;
 margin-bottom: 2.5rem;
}
.footer_logo {
 width: 17rem;
 margin: 0 auto;
}

.footer_txt {
 font-size: 1.1rem;
 line-height: 1.2;
 text-align: center;
 margin-top: 3rem;
}
.footer_txt p  a {
 pointer-events:visible
}

.footer_txt ul {
 width:  26rem;
 border-left:  #3c3c3c solid .1rem;
 border-right:  #3c3c3c solid .1rem;
 margin-top:1.5rem;
}
.footer_txt ul a {
 padding: 0 1.5rem;

}

.copy {
 font-size: 1rem;
 line-height: 1;
}
}








/*                       page                    */
.page {
 padding-top: min(10rem, calc(100vw / 13.66));
}
.breadcrumb {
 width: 100%;
 box-sizing: border-box;
 padding: 0 min(3rem, calc(30vw / 13.66));
}
.breadcrumb ul {
 display: flex;
 align-items: center;
 gap: 0  min(.5rem, calc(5vw / 13.66));
}
.breadcrumb ul li {
 display: flex;
 align-items: center;
 gap: 0  min(.5rem, calc(5vw / 13.66));
 color: #7093cd;
 font-size: 1.2rem;
}
#case_page .breadcrumb ul li  {
 color: #0a96dc;
}
.breadcrumb ul li::after {
 content: '';
 width: min(.5rem, calc(5vw / 13.66));
 height: min(.5rem, calc(5vw / 13.66));
 border-top: min(.1rem, calc(1vw / 13.66)) solid #3c3c3c;
 border-right: min(.1rem, calc(1vw / 13.66)) solid #3c3c3c;
 transform: rotate(45deg);
}
.breadcrumb ul li:last-of-type::after {
 content: none;
}
.breadcrumb ul li a {
 font-size: 1.2rem;
 font-weight: 500;
 color: #3c3c3c;
 position: relative;
 display: block;
 border-bottom:  min(.1rem, calc(1vw / 13.66)) solid #3c3c3c;
 line-height: 1.6;

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

.page_item {
 width: min(76rem, calc(760vw / 13.66));
 margin:  min(11rem, calc(110vw / 13.66))  auto min(8.5rem, calc(85vw / 13.66));
 text-align: justify;
}
.page_item_top p {
 display: flex;
 align-items: center;
 gap: 0 min(1.5rem, calc(15vw / 13.66)) ;
 font-size: 1.4rem;
 font-weight: 600;
 color: #7093cd;
 letter-spacing: 0.03em;
}
#case_page .page_item_top p  {
 color: #0a96dc;
}

.page_item_top p span {
 color: #fff;
 display: block;
 background: #7093cd;
 width:  min(8.8rem, calc(88vw / 13.66)) ;
 text-align: center;
 line-height: 1.4;
 letter-spacing: 0.1em;
}
#case_page .page_item_top p span {
 background-color: #0a96dc;
}
.page_item_ttl {
 font-size: 2.5rem;
 font-weight: 600;
 letter-spacing: 0.04em;
 line-height: 1.68;
 margin-top: min(1.5rem, calc(15vw / 13.66));
}
.page_item_thum {
 width: 100%;
 margin: min(2rem, calc(20vw / 13.66))  0;
}
.page_item_txt {
 font-size: 1.5rem;
 font-weight: normal;
 line-height: 2.2;
}
.page_item_box {
 margin-top: min(7rem, calc(70vw / 13.66));
}
.page_item_box h3 {
 color: #7093cd;
 box-sizing: border-box;
 padding-left: min(2rem, calc(20vw / 13.66));
 font-size: 2rem;
 font-weight: 600;
 line-height: 1.7;
 border-left:  min(.6rem, calc(6vw / 13.66)) solid #7093cd;
 margin-bottom:  min(3rem, calc(30vw / 13.66));
}

#case_page .page_item_box h3 {
 color: #0a96dc;
 border-color: #0a96dc;
}

.page_item_box dl {
 margin-top:  min(5rem, calc(50vw / 13.66));
}
.page_item_box dt {
 font-size: 1.8rem;
 line-height: 1.66;
 font-weight: bold;
 margin-top:  min(3rem, calc(30vw / 13.66));
}
.page_item_box dd {
 font-size: 1.5rem;
 font-weight: normal;
  margin-top:  min(2.5rem, calc(25vw / 13.66));
}


.pagination  {
 width: min(36.5rem, calc(365vw / 13.66));
 margin: min(14rem, calc(140vw / 13.66)) auto  0;
}
.pagination ul {
 display: flex;
 align-items: center;
 justify-content: space-between;
}
.pagination ul a {
 display: flex;
 align-items: center;
 gap: 0 min(.5rem, calc(5vw / 13.66));
 font-size: 1.5rem;
 color: #3c3c3c;
}
.pagination ul a span {
 display: block;
 width:  min(2rem, calc(20vw / 13.66));
 height:  min(2rem, calc(20vw / 13.66));
 border-radius: 50%;
 background-color: #0a96dc;
 position: relative;
}
.pagination ul .prev a span::before {
 content: '';
 width: 0;
 height: 0;
 border-right:  min(.8rem, calc(8vw / 13.66)) solid #fff;
 border-top:  min(.4rem, calc(4vw / 13.66)) solid transparent;
 border-bottom:  min(.4rem, calc(4vw / 13.66)) solid transparent;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: min(.1rem, calc(1vw / 13.66));
 margin: 0 auto;
}
.pagination ul .next a span::before {
 content: '';
 width: 0;
 height: 0;
 border-left:  min(.8rem, calc(8vw / 13.66)) solid #fff;
 border-top:  min(.4rem, calc(4vw / 13.66)) solid transparent;
 border-bottom:  min(.4rem, calc(4vw / 13.66)) solid transparent;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: 0;
 left: min(.1rem, calc(1vw / 13.66));
 margin: 0 auto;
}

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


.page .case_inner {
 padding-top: min(10rem, calc(100vw / 13.66));
}


@media screen and (max-width: 767px) {
 /*                       page                    */
.page {
 padding-top: 5rem;
}
.breadcrumb {
 padding: 0 1.5rem;
}
.breadcrumb ul {
 gap: 0  .5rem;
}
.breadcrumb ul li {
 gap: 0  .5rem;
 font-size: 1rem;
}

.breadcrumb ul li::after {
 width: .4rem;
 height: .4rem;
 border-top: .1rem solid #3c3c3c;
 border-right: .1rem solid #3c3c3c;
}

.breadcrumb ul li a {
 font-size: 1rem;
 border-bottom: .1rem solid #3c3c3c;

}

.page_item {
 width: 33.5rem;
 margin: 3rem  auto 4.5rem;
}
.page_item_top p {
 gap: 0 1.2rem;
 font-size: 1.1rem;
}

.page_item_top p span {
 width: 7rem ;
}
.page_item_ttl {
 font-size: 2.1rem;
 line-height: 1.76;
 margin-top: 1.5rem;
}
.page_item_thum {
 margin: 2rem  0;
}
.page_item_txt {
 font-size: 1.4rem;
 line-height: 2;
}
.page_item_box {
 margin-top: 4rem;
}
.page_item_box h3 {
 padding-left:1.5rem;
 font-size: 1.8rem;
 line-height: 1.5;
 border-left:  1rem solid #7093cd;
 margin-bottom:  2rem;
}
.page_item_box dl {
 margin-top:  4rem;
}
.page_item_box dt {
 font-size: 1.6rem;
 line-height: 1.6;
 margin-top: 3.5rem;
}
.page_item_box dd {
 font-size: 1.4rem;
  margin-top:  3rem;
}


.pagination  {
 width: 25rem;
 margin:12rem auto  0;
}

.pagination ul a {
 gap: 0 .5rem;
 font-size: 1.4rem;
}
.pagination ul a span {
 width: 1.7rem;
 height: 1.7rem;
}
.pagination ul .prev a span::before {
 border-right:  .7rem solid #fff;
 border-top: .35rem solid transparent;
 border-bottom: .35rem solid transparent;
 right:.1rem;
}
.pagination ul .next a span::before {

 border-left:  .7rem solid #fff;
 border-top: .35rem solid transparent;
 border-bottom: .35rem solid transparent;
 left:.1rem;
}


.page .case_inner {
 padding-top:5.5rem;
}
}
