/* === base === */
:root{
  --color-font: #313131;
  --color-primary: #316AA7;
  --color-secondary: #31A761;
  --color-white: #fff;
  --header-height: 95px;
}
@media (max-width: 1540px){
  :root{
    --header-height: 82px;
  }
}

*{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html{
  font-size: min(calc(100vw * 10 / 1920), 10px);
}
body{
  color: var(--color-font);
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .05em;
  overflow-x: hidden;
}
main{
  padding-top: var(--header-height);
}
a{
  color: inherit;
  text-decoration: none;
}
ul, ol{
  list-style: none;
}
img{
  display: block;
  width: 100%;
}
@media (max-width: 1240px){
  body.menu_open{
    overflow: hidden;
  }
}
@media (max-width: 767px){
  html{
    font-size: (100vw * 10 / 375);
  }
}



/* === common === */
.parts_svg{
  display: none;
}
.en{
  font-family: "Quicksand", sans-serif;
}
@media (min-width: 768px){
  .sp{
    display: none;
  }
}
@media (max-width: 767px){
  .pc{
    display: none;
  }
}

.mt-0 {
  margin-top: 0 !important;
}
.mt-8 {
  margin-top: 8px !important;
}

.mt-16 {
  margin-top: 16px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mt-24 {
  margin-top: 24px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mt-64 {
  margin-top: 64px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mt-120 {
  margin-top: 120px !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-8 {
  margin-bottom: 8px !important;
}

.mb-16 {
  margin-bottom: 16px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mb-24 {
  margin-bottom: 24px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mb-64 {
  margin-bottom: 64px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.mb-120 {
  margin-bottom: 120px !important;
}

.pt-8 {
  padding-top: 8px !important;
}

.pt-16 {
  padding-top: 16px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pt-24 {
  padding-top: 24px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pt-64 {
  padding-top: 64px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pt-120 {
  padding-top: 120px !important;
}

.pb-8 {
  padding-bottom: 8px !important;
}

.pb-16 {
  padding-bottom: 16px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pb-24 {
  padding-bottom: 24px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pb-64 {
  padding-bottom: 64px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.pb-120 {
  padding-bottom: 120px !important;
}
.mx-auto {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .mt-8 {
    margin-top: calc(8px * 0.8) !important;
  }
  .mt-16 {
    margin-top: calc(16px * 0.8) !important;
  }
  .mt-20 {
    margin-top: calc(20px * 0.8) !important;
  }
  .mt-24 {
    margin-top: calc(24px * 0.8) !important;
  }
  .mt-40 {
    margin-top: calc(40px * 0.8) !important;
  }
  .mt-64 {
    margin-top: calc(64px * 0.8) !important;
  }
  .mt-80 {
    margin-top: calc(80px * 0.8) !important;
  }
  .mt-120 {
    margin-top: calc(120px * 0.8) !important;
  }
  .mb-8 {
    margin-bottom: calc(8px * 0.8) !important;
  }
  .mb-16 {
    margin-bottom: calc(16px * 0.8) !important;
  }
  .mb-20 {
    margin-bottom: calc(20px * 0.8) !important;
  }
  .mb-24 {
    margin-bottom: calc(24px * 0.8) !important;
  }
  .mb-40 {
    margin-bottom: calc(40px * 0.8) !important;
  }
  .mb-64 {
    margin-bottom: calc(64px * 0.8) !important;
  }
  .mb-80 {
    margin-bottom: calc(80px * 0.8) !important;
  }
  .mb-120 {
    margin-bottom: calc(120px * 0.8) !important;
  }
  .pt-8 {
    padding-top: calc(8px * 0.8) !important;
  }
  .pt-16 {
    padding-top: calc(16px * 0.8) !important;
  }
  .pt-20 {
    padding-top: calc(20px * 0.8) !important;
  }
  .pt-24 {
    padding-top: calc(24px * 0.8) !important;
  }
  .pt-40 {
    padding-top: calc(40px * 0.8) !important;
  }
  .pt-64 {
    padding-top: calc(64px * 0.8) !important;
  }
  .pt-80 {
    padding-top: calc(80px * 0.8) !important;
  }
  .pt-120 {
    padding-top: calc(120px * 0.8) !important;
  }
  .pb-8 {
    padding-bottom: calc(8px * 0.8) !important;
  }
  .pb-16 {
    padding-bottom: calc(16px * 0.8) !important;
  }
  .pb-20 {
    padding-bottom: calc(20px * 0.8) !important;
  }
  .pb-24 {
    padding-bottom: calc(24px * 0.8) !important;
  }
  .pb-40 {
    padding-bottom: calc(40px * 0.8) !important;
  }
  .pb-64 {
    padding-bottom: calc(64px * 0.8) !important;
  }
  .pb-80 {
    padding-bottom: calc(80px * 0.8) !important;
  }
  .pb-120 {
    padding-bottom: calc(120px * 0.8) !important;
  }
}
.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-left {
  text-align: left !important;
}
.text-small {
  font-size: 0.8em !important;
  line-height: 1.5 !important;
  letter-spacing: 0;
}
.text-bold {
  font-weight: bold !important;
}
.w-100 {
  width: 100% !important;
}
.br-pc {
  display: block;
}
.br-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .br-pc {
    display: none;
  }
  .br-sp {
    display: block;
  }
}

.d-flex {
  display: flex !important;
}
@media screen and (max-width: 767px) {
  .d-flex {
    flex-direction: column !important;
  }
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-between {
  justify-content: space-between !important;
}

.align-items-center {
  align-items: center !important;
}
.align-items-start {
  align-items: flex-start !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.col-1 {
  flex: 0 0 calc(8.333333% - calc(var(--gutter-width) / 2));
  width: 100%;
}
.col-2 {
  flex: 0 0 calc(16.666667% - calc(var(--gutter-width) / 2));
  width: 100%;
}
.col-3 {
  flex: 0 0 calc(25% - calc(var(--gutter-width) / 2));
  width: 100%;
}
.col-4 {
  flex: 0 0 calc(33.333333% - calc(var(--gutter-width) / 2));
  width: 100%;
}
.col-5 {
  flex: 0 0 calc(41.666667% - calc(var(--gutter-width) / 2));
  width: 100%;
}
.col-6 {
  flex: 0 0 calc(50% - calc(var(--gutter-width) / 2));
  width: 100%;
}
.col-7 {
  flex: 0 0 calc(58.333333% - calc(var(--gutter-width) / 2));
  width: 100%;
}
.col-8 {
  flex: 0 0 calc(66.666667% - calc(var(--gutter-width) / 2));
  width: 100%;
}
.col-9 {
  flex: 0 0 calc(75% - calc(var(--gutter-width) / 2));
  width: 100%;
}
.col-10 {
  flex: 0 0 calc(83.333333% - calc(var(--gutter-width) / 2));
  width: 100%;
}
.col-11 {
  flex: 0 0 calc(91.666667% - calc(var(--gutter-width) / 2));
  width: 100%;
}
.col-12 {
  flex: 0 0 calc(100% - calc(var(--gutter-width) / 2));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
    flex: 0 0 100%;
  }
}
.gap-80 {
  --gutter-width: 80px;
  gap: var(--gutter-width);
}
.gap-40 {
  --gutter-width: 40px;
  gap: var(--gutter-width);
}
.gap-20 {
  --gutter-width: 20px;
  gap: var(--gutter-width);
}
.gap-10 {
  --gutter-width: 10px;
  gap: var(--gutter-width);
}
@media screen and (max-width: 767px) {
  .gap-80, .gap-40, .gap-20, .gap-10 {
    --gutter-width: 20px;
  }
  .low_body .d-flex .low-img {
    order: -1;
  }
}


/* === header === */
#header{
  background: #fff;
  position: fixed;
  inset: 0 auto auto 0;
  width: 100%;
  box-shadow: 0 2px 8.2px 0 rgba(195, 195, 195, .25);
  z-index: 5;
}
#header .h_inner{
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 40px;
}
#header .row{
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: var(--header-height);
}
#header .site_logo{
  width: 240px;
}
#header .navs{
  display: flex;
  align-items: center;
  gap: 16px;
}
#header .navs .nav01{
  color: #525252;
  display: flex;
  align-items: center;
  gap: 6px;
}
#header .navs .nav01 > li > a{
  font-size: 15px;
  font-weight: 700;
}
#header .navs .nav02{
  display: flex;
  align-items: center;
  gap: 16px;
}
#header .navs .nav02 li a{
  color: #fff;
  display: inline-block;
  padding: 18px 24px;
  font-size: 16px;
  font-weight: 700;
  border: 1px solid;
  border-radius: 30px;
  transition: background .2s;
}
#header .navs .nav02 a.download{
  background: var(--color-primary);
  border-color: var(--color-primary);
}
#header .navs .nav02 a.contact{
  background: var(--color-secondary);
  border-color: var(--color-secondary);
}
#header .navs .policy{
  display: none;
  padding-bottom: 36px;
}
#header .navs .policy a{
  color: #aaa;
  position: relative;
  padding-right: 24px;
  font-size: 14px;
  font-weight: 700;
}
#header .navs .policy a svg{
  fill: #aaa;
  position: absolute;
  inset: 50% 0 auto auto;
  translate: 0 -50%;
  width: 16px;
  height: 16px;
}
#header .navs .tel{
  display: none;
}
#header .navs .tel a{
  background: #fff;
  display: block;
  position: relative;
  padding: 16px 74px 16px 24px;
  border-radius: 10px;
}
#header .navs .tel a .txt{
  color: var(--color-primary);
  padding-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
}
#header .navs .tel a .num{
  padding-bottom: 8px;
  font-size: 18px;
  font-weight: 500;
}
#header .navs .tel a .time{
  color: #aaa;
  font-size: 14px;
  font-weight: 500;
}
#header .navs .tel a .icon{
  background: #E1E1E1;
  position: absolute;
  inset: 50% 16px auto auto;
  translate: 0 -50%;
  padding: 15px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
}
#header .navs .tel a svg{
  fill: #aaa;
  width: 20px;
  height: 20px;
}
#header .toggle_btn{
  display: none;
  background: var(--color-primary);
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
}
#header .toggle_btn span{
  background: #fff;
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 18px;
  height: 2px;
}
#header .toggle_btn::before{
  content: '';
  background: #fff;
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% calc(-50% - 7px);
  width: 10px;
  height: 2px;
}
#header .toggle_btn::after{
  content: '';
  background: #fff;
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% calc(-50% + 7px);
  width: 10px;
  height: 2px;
}
@media (min-width: 1241px){
  #header .navs .nav01 > li{
    position: relative;
  }
  #header .navs .nav01 > li > a{
    display: block;
    padding: 16px 10px;
    border-radius: 50px;
    transition: background .2s;
  }
  #header .navs .nav01 > li > a:hover{
    background: #E9E9E9;
  }
  #header .navs .nav01 .sub{
    display: none;
    background: #fff;
    position: absolute;
    inset: 95% auto auto 50%;
    translate: -50% 0;
    border-radius: 10px;
    box-shadow: 0 0 9.8px 0 rgba(0, 0, 0, .4);
    overflow: hidden;
  }
  #header .navs .nav01 .sub.show{
    display: block;
  }
  #header .navs .nav01 .sub li a{
    display: block;
    position: relative;
    padding: 16px 32px;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    transition: background .2s;
  }
  #header .navs .nav01 .sub li a:hover{
    background: #DEDEDE;
    color: var(--color-primary);
  }
  #header .navs .nav01 .sub li a::before{
    content: '';
    background: var(--color-primary);
    position: absolute;
    inset: 50% auto auto 10px;
    translate: 0 -50%;
    width: 10px;
    height: 10px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    opacity: 0;
    transition: .2s;
  }
  #header .navs .nav01 .sub li a:hover::before{
    opacity: 1;
  }
}
@media (min-width: 768px){
  #header .navs .nav02 a.download:hover{
    background: #fff;
    color: var(--color-primary);
  }
  #header .navs .nav02 a.contact:hover{
    background: #fff;
    color: var(--color-secondary);
  }
}
@media (max-width: 1540px){
	#header .site_logo{
		width: 180px;
	}
	#header .navs{
		gap: 10px;
	}
	#header .navs .nav01{
		gap: 0;
	}
	#header .navs .nav01 > li > a{
		padding: 16px 8px;
		font-size: 12px;
	}
	#header .navs .nav02{
		gap: 10px;
	}
	#header .navs .nav02 li a{
		padding: 16px 20px;
		font-size: 14px;
	}
}
@media (max-width: 1240px){
  #header .h_inner{
    padding: 0 20px;
  }
  #header .toggle_menu{
    background: #7D7D7D;
    position: fixed;
    inset: var(--header-height) 0 auto auto;
    max-width: calc(100% - 20px);
    width: 380px;
    height: calc(100vh - var(--header-height));
    padding: 62px 20px 36px;
    overflow: scroll;
    translate: 100% 0;
    transition: translate .2s;
  }
  #header .toggle_menu.menu_open{
    translate: 0 0;
  }
  #header .toggle_btn{
    display: block;
  }
  #header .navs{
    flex-direction: column;
    align-items: inherit;
    gap: 0;
  }
  #header .navs .nav01{
    flex-direction: column;
    align-items: inherit;
    gap: 0;
    padding-bottom: 24px;
  }
  #header .navs .nav01 > li > a{
    color: #fff;
    display: block;
    position: relative;
    padding: 16px 0;
    font-size: 15px;
    border-bottom: 1px solid #aaa;
  }
  #header .navs .nav01 > li > a::after{
    content: '';
    background: #fff;
    position: absolute;
    inset: 50% 8px auto auto;
    translate: 0 -50%;
    width: 10px;
    height: 10px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  #header .navs .nav01 > li > a.nolink::after{
    display: none;
  }
  #header .navs .nav01 .sub{
    display: block;
    padding: 20px 0 10px;
  }
  #header .navs .nav01 .sub li + li{
    margin-top: 16px;
  }
  #header .navs .nav01 .sub li a{
    color: #aaa;
    position: relative;
    padding-left: 20px;
    font-size: 14px;
    font-weight: 700;
  }
  #header .navs .nav01 .sub li a::before{
    content: '';
    background: #aaa;
    position: absolute;
    inset: 50% auto auto 0;
    translate: 0 -50%;
    width: 10px;
    height: 10px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  #header .navs .nav02{
    flex-direction: column;
    align-items: inherit;
    padding-bottom: 36px;
    gap: 24px;
  }
  #header .navs .nav02 li a{
    width: 100%;
    padding: 18px 24px;
    font-size: 16px;
    text-align: center;
  }
  #header .navs .policy{
    display: block;
  }
  #header .navs .tel{
    display: block;
  }
}


/* === footer === */
#footer .f_inner{
  max-width: 1580px;
  margin: 0 auto;
  padding: 0 40px;
}
#footer .f_cards{
  background: url(../img/f_card_bg.jpg) no-repeat center / cover;
  padding: 75px 0;
}
#footer .f_cards .cards{
  display: flex;
  justify-content: center;
  gap: 50px;
}
#footer .f_cards .cards li{
  width: 380px;
}
#footer .f_cards .cards li a{
  background: #fff;
  display: flex;
  align-items: center;
  border-radius: 10px;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, .25);
  overflow: hidden;
  transition: 0.2s;
}
@media screen and (min-width: 768px) {
  #footer .f_cards .cards li a:hover{
    box-shadow: 0 0 16px 0 rgba(0, 0, 0, .5);
    scale: 1.05;
  }
  
}
#footer .f_cards .cards li a .img_content{
  width: 180px;
}
#footer .f_cards .cards li a .txt_content{
  width: 200px;
  padding: 0 30px;
}
#footer .f_cards .cards li a .txt_content .ttl{
  font-size: 18px;
  font-weight: 700;
}
#footer .f_cards .cards li a .txt_content .ttl span{
  color: var(--color-primary);
  display: block;
  padding-bottom: 5px;
  font-size: 16px;
  font-weight: 600;
}
#footer .f_content{
  padding: 84px 0 24px;
}
#footer .f_content .row{
  display: flex;
  justify-content: space-between;
  padding-bottom: 82px;
}
#footer .f_content .site_prof .site_logo{
  width: 394px;
  padding-bottom: 48px;
}
#footer .f_content .site_prof .company{
  display: flex;
  gap: 36px;
}
#footer .f_content .site_prof .company > *{
  flex: 1;
}
#footer .f_content .site_prof .company > * a{
  background: #F5F5F5;
  display: block;
  height: 100%;
  border-radius: 10px;
  white-space: nowrap;
  transition: 0.3s;
}
@media screen and (min-width: 768px){
  #footer .f_content .site_prof .company > * a:hover {
    background-color: #E9E9E9;
  }
}

#footer .f_content .site_prof .company .operation a{
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  padding: 13px 98px 13px 24px;
}
#footer .f_content .site_prof .company .operation .logo{
  width: 73px;
}
#footer .f_content .site_prof .company .operation .txt{
  color: var(--color-primary);
  padding-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
}
#footer .f_content .site_prof .company .operation .name{
  font-size: 18px;
  font-weight: 500;
}
#footer .f_content .site_prof .company .operation .icon{
  background: #E1E1E1;
  position: absolute;
  inset: 50% 24px auto auto;
  translate: 0 -50%;
  padding: 15px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
}
#footer .f_content .site_prof .company .operation .icon svg{
  fill: #B1B1B1;
  width: 20px;
  height: 20px;
}
#footer .f_content .site_prof .company .tel a{
  position: relative;
  padding: 7px 98px 7px 24px;
}
#footer .f_content .site_prof .company .tel .txt{
  color: var(--color-primary);
  padding-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
}
#footer .f_content .site_prof .company .tel .num{
  padding-bottom: 8px;
  font-size: 18px;
  font-weight: 500;
}
#footer .f_content .site_prof .company .tel .time{
  color: #aaa;
  font-size: 14px;
  font-weight: 500;
}
#footer .f_content .site_prof .company .tel .icon{
  background: #E1E1E1;
  position: absolute;
  inset: 50% 16px auto auto;
  translate: 0 -50%;
  padding: 15px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
}
#footer .f_content .site_prof .company .tel svg{
  fill: #B1B1B1;
  width: 20px;
  height: 20px;
}
#footer .f_content .navs{
  display: flex;
  gap: 56px;
}
#footer .f_content .navs .nav01{
  column-count: 2;
}
#footer .f_content .navs .nav01 > li + li{
  margin-top: 48px;
}
#footer .f_content .navs .nav01 > li > a{
  display: inline-block;
  padding-bottom: 10px;
  font-size: 16px;
  font-weight: 700;
  border-bottom: 1px solid #aaa;
  transition: 0.3s;
}
#footer .f_content .navs .nav01 .sub{
  padding-top: 24px;
}
#footer .f_content .navs .nav01 .sub li + li{
  margin-top: 17px;
}
#footer .f_content .navs .nav01 .sub li a{
  color: #aaa;
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  font-weight: 700;
  transition: 0.3s;
}
#footer .f_content .navs .nav01 .sub li a::before{
  content: '';
  background: #aaa;
  position: absolute;
  inset: 50% auto auto 0;
  translate: 0 -50%;
  width: 10px;
  height: 10px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (min-width: 768px){
  #footer .f_content .navs .nav01 > li > a:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
  }
  #footer .f_content .navs .nav01 .sub li a:hover {
    color: var(--color-primary);
  }
  #footer .f_content .navs .nav01 .sub li a:hover::before {
    background: var(--color-primary);
  }
}
#footer .f_content .navs .nav02 li + li{
  margin-top: 30px;
}
#footer .f_content .navs .nav02 li a{
  color: #fff;
  display: block;
  padding: 24px;
  width: 240px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  border: 1px solid;
  border-radius: 50px;
  transition: background .2s;
}
#footer .f_content .navs .nav02 li a.download{
  background: var(--color-primary);
  border-color: var(--color-primary);
}
#footer .f_content .navs .nav02 li a.contact{
  background: var(--color-secondary);
  border-color: var(--color-secondary);
}
#footer .f_content .other{
  display: flex;
  justify-content: space-between;
}
#footer .f_content .other .policy a{
  color: #aaa;
  position: relative;
  padding-right: 22px;
  font-size: 14px;
  font-weight: 700;
}
#footer .f_content .other .policy a svg{
  fill: #aaa;
  position: absolute;
  inset: 50% 0 auto auto;
  translate: 0 -35%;
  width: 14px;
  height: 14px;
}
#footer .f_content .other .copy{
  color: #aaa;
  font-size: 12px;
  font-weight: 700;
}
@media (min-width: 768px){
  #footer .f_content .navs .nav02 li a.download:hover{
    background: #fff;
    color: var(--color-primary);
  }
  #footer .f_content .navs .nav02 li a.contact:hover{
    background: #fff;
    color: var(--color-secondary);
  }
}
@media (max-width: 1540px){
	#footer .f_content .site_prof .site_logo{
		width: 340px;
	}
	#footer .f_content .navs{
		gap: 40px;
	}
	#footer .f_content .site_prof .company{
		flex-direction: column-reverse;
	}
}
@media (max-width: 1240px){
  #footer .f_inner{
    padding: 0 20px;
  }
  #footer .f_cards{
    padding: 40px 0;
  }
  #footer .f_cards .cards{
    flex-direction: column;
    align-items: center;
    gap: 36px;
  }
  #footer .f_cards .cards li{
    width: min(100%, 360px);
  }
  #footer .f_cards .cards li a .img_content{
    flex: 1.5;
  }
  #footer .f_cards .cards li a .txt_content{
    flex: 2;
    padding: 0 30px;
  }
  #footer .f_cards .cards li a .txt_content .ttl{
    font-size: 16px;
  }
  #footer .f_cards .cards li a .txt_content .ttl span{
    font-size: 16px;
  }
  #footer .f_content .row{
    flex-direction: column;
    align-items: center;
    gap: 48px;
  }
  #footer .f_content .site_prof{
    display: contents;
  }
  #footer .f_content .site_prof .site_logo{
    width: 240px;
    padding-bottom: 0;
  }
  #footer .f_content .site_prof .company{
    order: 1;
    gap: 20px;
  }
  #footer .f_content .site_prof .company > *{
    flex: none;
    width: 360px;
  }
  #footer .f_content .site_prof .company .operation a{
    padding: 14px 24px;
  }
  #footer .f_content .site_prof .company .operation .icon{
    inset: 50% 14px auto auto;
  }
  #footer .f_content .site_prof .company .tel a{
    padding: 10px 98px 10px 24px;
  }
  #footer .f_content .site_prof .company .tel .icon{
    inset: 50% 16px auto auto;
  }
  #footer .f_content .navs{
    flex-direction: column;
    gap: 36px;
  }
  #footer .f_content .navs .nav01{
    gap: 20px;
  }
  #footer .f_content .navs .nav01 > li + li{
    margin-top: 0;
  }
  #footer .f_content .navs .nav01 > li > a{
    display: block;
    position: relative;
    padding: 16px 0;
  }
  #footer .f_content .navs .nav01 > li > a::after{
    content: '';
    background: #000;
    position: absolute;
    inset: 50% 8px auto auto;
    translate: 0 -50%;
    width: 10px;
    height: 10px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  #footer .f_content .navs .nav01 > li > a.nolink::after{
    display: none;
  }
  #footer .f_content .navs .nav01 .sub{
    padding-top: 10px;
  }
  #footer .f_content .navs .nav01 .sub li + li{
    margin-top: 14px;
  }
  #footer .f_content .navs .nav01 .sub li a{
    padding-left: 20px;
    font-size: 14px;
  }
  #footer .f_content .navs .nav01 .sub li a::before{
    width: 10px;
    height: 10px;
  }
  #footer .f_content .navs .nav02 li + li{
    margin-top: 24px;
  }
  #footer .f_content .navs .nav02 li a{
    margin: 0 auto;
    padding: 20px;
    width: 240px;
    font-size: 16px;
    border-radius: 100px;
  }
  #footer .f_content .other{
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
  #footer .f_content .other .policy a{
    font-size: 14px;
  }
  #footer .f_content .other .policy a svg{
    width: 14px;
    height: 14px;
  }
  #footer .f_content .other .copy{
    font-size: 12px;
  }
}
@media (max-width: 767px){
  #footer .f_content .row{
    align-items: normal;
    padding-bottom: 82px;
  }
  #footer .f_content .site_prof .company > *{
    width: 100%;
  }
  #footer .f_content .navs .nav01{
    column-count: auto;
  }
  #footer .f_content .navs .nav02 li a{
    width: 100%;
  }
}


/* === 下層 === */
.low_head{
  padding-bottom: 120px;
}
.low_head .mv{
  background-position: center;
  background-size: 1920px;
  position: relative;
  height: 286px;
}
.low_head .mv::before{
  content: '';
  background: url(../img/low_mv_point.png) no-repeat center / cover;
  position: absolute;
  inset: 50% auto auto 0;
  translate: 0 -50%;
  width: 182px;
  height: auto;
  aspect-ratio: 1 / 1.27;
}
.low_head .mv .mv_inner{
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 1660px;
  margin: 0 auto;
  height: 100%;
  padding: 0 40px;
}
.low_head .mv h1{
  color: #fff;
  padding-bottom: 40px;
  font-size: 40px;
  font-weight: 500;
}
.low_head .mv h1 .en{
  color: rgba(255, 255, 255, .48);
  display: block;
  font-size: 28px;
  font-weight: 600;
}
.low_head .mv .catch{
  color: #fff;
  font-size: 18px;
  font-weight: 500;
}
.low_head .breadcrumbs{
  max-width: 1760px;
  margin: 0 auto;
  padding: 20px 40px 0;
}
.low_head .breadcrumbs ul{
  display: flex;
}
.low_head .breadcrumbs ul li{
  font-size: 16px;
}
.low_head .breadcrumbs ul li + li::before{
  content: '/';
  margin: 0 16px;
}
.low_head .breadcrumbs ul a{
  color: #676767;
}

.low_body a.txt-link {
	color: var(--color-primary);
	text-decoration: underline;
}

@media (max-width: 1240px){
  .low_head .mv .mv_inner{
    padding: 0 20px;
  }
  .low_head .breadcrumbs{
    padding: 20px 20px 0;
  }
}
@media (max-width: 767px){
  .low_head{
    padding-bottom: 64px;
  }
  .low_head .mv{
    background-size: 767px;
    height: auto;
    padding: 24px 0;
  }
  .low_head .mv::before{
    width: 120px;
  }
  .low_head .mv h1{
    padding-bottom: 24px;
    font-size: 24px;
  }
  .low_head .mv h1 .en{
    font-size: 18px;
  }
  .low_head .mv .catch{
    font-size: 15px;
  }
  .low_head .breadcrumbs{
    padding: 20px 20px 10px;
    font-size: 14px;
    overflow: scroll;
    white-space: nowrap;
  }
  .low_head .breadcrumbs ul li{
    font-size: 14px;
  }
  .low_head .breadcrumbs ul li + li::before{
    margin: 0 8px;
  }
}


.low_body{
  padding-bottom: 120px;
}
.low_body .inner{
  max-width: 1460px;
  margin: 0 auto;
  padding: 0 40px;
}
.low_body h2{
  padding-bottom: 32px;
  margin-bottom: 40px;
  font-size: 32px;
  font-weight: 700;
  line-height: 2;
  border-bottom: 3px solid var(--color-primary);
}
.low_body h3{
  padding-bottom: 24px;
  margin-bottom: 28px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.8;
  border-bottom: 1px solid #E0E0E0;
}
.low_body h4 {
  margin-bottom: 8px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
}

.low_body .txt {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
}
.low_body .inner section {
  position: relative;
}
.low-fix-img {
  max-width: 640px;
  display: block;
  position: absolute;
  right: 0;
  top: -120px;
}
@media (max-width: 767px){
  .low_body{
    padding-bottom: 64px;
  }
  .low_body .inner{
    padding: 0 20px;
  }
  .low_body h2{
    margin-bottom: 32px;
    padding-bottom: 24px;
    font-size: 24px;
  }
  .low_body h3{
    padding-bottom: 20px;
    margin-bottom: 18px;
    font-size: 20px;
  }
  .low_body h4 {
    font-size: 16px;
    margin-bottom: 8px;
  }
  .low_body .txt {
    font-size: 15px;
  }
  .low-fix-img {
    top: -20vw;
  }
}

.low-cta-container{
  display: flex;
  max-width: 1180px;
  margin: 0 auto;
  flex-direction: column;
  align-items: center;
  padding: 68px 30px;
  background-color: var(--color-primary);
  color: var(--color-white);
  gap: 32px;
  border-radius: 10px;
  background: url(/wp-content/themes/saisekilab/img/cta_bg-image.png) no-repeat center / cover;
}
.low-cta-text{
  text-align: center;
  color: var(--color-white);
  font-size: 32px;
  font-weight: 700;
}
.low-cta-btn{
  display: flex;
  justify-content: center;
  gap: 40px;
}
.low-cta-btn a{
  width: 240px;
  padding: 24px;
  border-radius: 50px;
  border: 2px solid ;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  color: var(--color-white);
  transition: 0.2s;
}
.low-cta-btn a.download{
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.low-cta-btn a.contact{
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
} 
.low-cta-btn a.back {
  background-color: var(--color-white);
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.low-cta-btn .download:hover{
  background-color: var(--color-white);
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.low-cta-btn .contact:hover{
  background-color: var(--color-white);
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}
.low-cta-btn a.back:hover{
  background-color: var(--color-primary);
  border-color: var(--color-white);
  color: var(--color-white);
}

@media (max-width: 767px) {
  .low-cta-container{
    padding: 40px 20px;
  }
  .low-cta-text{
    font-size: 24px;
  }
  .low-cta-btn{
    flex-direction: column;
    gap: 24px;
    width: 100%;
  }
  .low-cta-btn a{
    width: 100%;
    font-size: 16px;
  }
}
.low_body .nav01 li {
  display: flex;
  align-items: flex-start;
  line-height: 1.5;
}
.low_body .nav01 li::before {
  content: "・";
  font-size: 1em;
  font-weight: 700;
}


/* === 投稿リスト === */
.case_list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px 20px;
}
.case_list a{
  background: #fff;
  display: block;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.25);
}
.case_list .txt_content{
  padding: 16px;
}
.case_list .day{
  color: #9C9C9C;
  padding-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}
.case_list .ttl{
  margin-bottom: 28px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.case_list a .thumb {
  overflow: hidden;
  aspect-ratio: 330 / 233;
}
.case_list .arrow{
  background: #F2F2F2;
  display: flex;
  width: fit-content;
  margin-left: auto;
  padding: 10px 20px;
  border-radius: 50px;
  transition: 0.3s;
}
.case_list .arrow svg{
  fill: #316AA7;
  stroke: #316AA7;
  width: 41px;
  height: 9px;
}
@media screen and (min-width: 768px) {
  .case_list a .thumb img {
    transition: 0.3s;
  }
  .case_list a:hover .thumb img {
    scale: 1.05;
  } 
  .case_list a:hover .arrow{
    background: var(--color-primary);
  }
  .case_list a:hover .arrow svg{
    fill: #fff;
    stroke: #fff;
  }
  
}
@media (max-width: 1260px){
  .case_list{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px){
  .case_list .ttl{
    font-size: 16px;
  }
}

.column_list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 28px;
}
.column_list .tag{
  padding-bottom: 12px;
}
.column_list .tag span{
  background: #21638C;
  color: #fff;
  display: inline-block;
  padding: 4px 16px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  border-radius: 50px;
}
.column_list .thumb{
  margin-bottom: 12px;
  border-radius: 20px;
  overflow: hidden;
}
.column_list a .thumb img {
  transition: 0.3s;
}
.column_list a:hover .thumb img{
  transform: scale(1.1);
}
.column_list a:hover .ttl {
  text-decoration: underline;
  /* color: var(--color-primary); */
}
.column_list .day{
  color: #AAD6F5;
  padding-bottom: 12px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}
.column_list .ttl{
  padding-bottom: 13px;
  font-size: 20px;
  font-weight: 700;
}
.column_list .txt{
  position: relative;
  /* padding-right: 70px; */
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.column_list .txt::after{
  content: '';
  background: url(../img/column_list_icon.svg) no-repeat center / cover;
  /* position: absolute;
  inset: auto 0 0 auto; */
  width: 65px;
  height: 65px;
  aspect-ratio: 1 /1;
}
.column_list .txt p{
  font-size: 14px;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media (max-width: 1660px){
  .column_list{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1260px){
  .column_list{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px){
  .column_list .day{
    font-size: 14px;
  }
  .column_list .ttl{
    font-size: 16px;
  }
  .column_list .txt{
    /* padding-right: 65px; */
    font-size: 10px;
  }
  .column_list .txt::after{
    width: 60px;
    height: 60px;
  }
}

.low_body section ul.list-nomal {
	margin: 20px 0;
	font-size: 16px;
	line-height: 2;
	letter-spacing: .05em;
}
.low_body section ul.list-nomal  li::before{
	content: '・';
  color: var(--color-primary);
  font-weight: 900;
}
.low_body section ol.list-nomal {
  margin: 20px 0;
  font-size: 16px;
  line-height: 2;
  letter-spacing: .05em;
}
.low_body section ol.list-nomal  li::before{
  content: counter(list-item) '. ';
  color: var(--color-primary) ;
  font-weight: 900;
}
.low_body section ul.list-nomal  li + li ,
.low_body section ol.list-nomal  li + li{
	margin-top: 8px;
}
.low_body section ul.list-nomal  li {
	display: flex;
  align-items: baseline; 
}
@media screen and (max-width: 767px) {
  .low_body section ul.list-nomal  li ,
  .low_body section ol.list-nomal  li {
    font-size: 15px;
  }
  
}

/* === ページャー === */
.pager .wp-pagenavi{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	padding-top: 80px;
}
.pager .wp-pagenavi :is(a, span){
	margin: 0;
	padding: 0;
	border: none;
}
.pager .wp-pagenavi span.pages{
	color: var(--color-primary);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
}
.pager .wp-pagenavi :is(a.page, span.current){
	background: #fff;
	color: var(--color-primary);
	width: 36px;
	height: 36px;
	line-height: 36px;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	border: 1px solid var(--color-primary);
	border-radius: 50%;
}
.pager .wp-pagenavi span.current ,
.pager .wp-pagenavi a.page:hover {
	background: var(--color-primary);
	color: #fff;
}
.pager .wp-pagenavi :is(a.previouspostslink, a.nextpostslink){
	display: none;
}
.pager .wp-pagenavi :is(a.first, a.last){
	background: url(../img/ico_pager_arrow.svg) no-repeat center / cover;
	width: 10px;
	height: 18px;
	font-size: 0;
}
.pager .wp-pagenavi a.first{
	rotate: 180deg;
}
@media (max-width: 767px){
	.pager .wp-pagenavi{
		padding-top: 40px;
	}
}



/* === 個別固定ページ === */
.low_concept{
}
@media (max-width: 767px){
  .low_concept{
  }
}
.low_company h2 {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.low_company h2 .en {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 64px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 8px;
}
.low_company h2 .en::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--color-primary);
}
.low_message {
  background-color: var(--color-primary);
  color: var(--color-white);
  padding: 56px 40px;
  border-radius: 10px;
}
.low_message h2 {
  margin-bottom: 56px;
}
.low_message h2 .en {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 64px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 8px;
}
.low_message h2 .en::after {
  background-color: var(--color-white);
}
.low_message-content {
  display: flex;
  gap: 24px;
}
.low_message_text {
  width: 100%;
}
.low_message_text .txt.l {
  font-size: 28px;
  line-height: 1.8;
  font-weight: bold;
  margin-bottom: 40px;
}

.low_message_img {
  max-width: 400px;
  width: 70%;
}
.low_message_img img {
  width: 100%;
}
.low_message-content .name {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .low_company h2 {
    font-size: 14px;
  }
  .low_company h2 .en {
    font-size: 40px;
  }
  .low_message {
    padding: 40px 20px;
  }
  .low_message-content {
    flex-direction: column;
  }
  .low_message h2 {
    margin-bottom: 32px;
  }
  .low_message_text {
    width: 100%;
  }
  .low_message_text .txt.l {
    font-size: 20px;
    margin-bottom: 24px;
  }
  .low_message_img {
    margin: 0 auto;
    order: -1;
    width: 100%;
  }
  
}

.low_company_info {
  gap: 80px;
}

.low_company_dl .dl-flex {
  display: flex;
  gap: 8px 32px;
  padding: 16px 0;
  border-bottom: 1px solid #CCCCCC;
}
@media (max-width: 1240px){
  .low_company_dl .dl-flex {
    flex-direction: column;
  }
}
.low_company_dl .dl-flex dt {
  min-width: 220px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
.low_company_dl .dl-flex dd {
  font-size: 16px;
  width: 100%;
}
@media (max-width: 767px) {
  .low_company_dl .dl-flex dt {
    width: 100%;
  }
  .low_company_dl .dl-flex dd {
    font-size: 15px;
  }
}
/* 資料ダウンロード */
.low_download ul {
  display: flex;
  --gutter-width: 40px;
  gap: 80px 40px;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.low_download ul li {
  width: 100%;
  flex: 0 0 calc(32% - calc(var(--gutter-width) / 2));
}
@media screen and (max-width: 767px) {
  .low_download ul {
    flex-direction: column;
    align-items: center;
  }
  .low_download ul li {
    flex: auto;
    max-width: 480px;
  }
}
.low_download ul li .thumb {
  width: 100%;
  aspect-ratio: 360 / 210;
  overflow: hidden;
  border-radius: 10px;
}
.low_download ul li .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: 0.2s;
}
.low_download ul li a:hover .thumb img {
  scale: 1.1;
}
.low_download ul li .ttl {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 16px;
}
.low_download ul li .txt {
  font-size: 14px;
  line-height: 1.5;
  margin-top: 16px;
}


.low_news .column_tab{
	padding-bottom: 80px;
}
.low_news .column_tab p{
	padding-bottom: 20px;
	font-size: 32px;
	font-weight: 700;
	line-height: 2;
}
.low_news .column_tab ul{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #E0E0E0;
}
.low_news .column_tab a{
	color: #21638C;
	display: inline-block;
	padding: 8px 32px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	white-space: nowrap;
	border: 1px solid #21638C;
	border-radius: 50px;
	transition: background .2s;
}
.low_news .column_tab a.active{
	background: #21638C;
	color: #fff;
}
.low_news .column_list .day{
	color: #9C9C9C;
}
@media (min-width: 768px){
	.low_news .column_tab a:hover{
		background: #21638C;
		color: #fff;
	}
}
@media (max-width: 767px){
	.low_news .column_tab{
		padding-bottom: 40px;
	}
	.low_news .column_tab ul{
		gap: 10px;
	}
	.low_news .column_tab a{
		padding: 4px 22px;
		font-size: 14px;
	}
	.low_news .column_list{
		grid-template-columns: repeat(1, 1fr);
	}
	.low_news .column_list .day{
		font-size: 16px;
	}
	.low_news .column_list .ttl{
		font-size: 20px;
	}
	.low_news .column_list .txt{
		font-size: 14px;
	}
}


@media (max-width: 767px){
	.low_case .case_list{
		grid-template-columns: repeat(1, 1fr);
	}
}



/* 詳細ページ */
.detail_news{
	margin-bottom: 120px;
}
.detail_news .tag{
	margin: 0 0 32px;
}
.detail_news .tag span{
	background: var(--color-primary);
	color: #fff;
	display: inline-block;
	padding: 4px 16px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	border-radius: 50px;
}
.detail_news .day{
	color: #797979;
	margin: 0 0 16px;
	font-weight: 500;
	line-height: 1.5;
}
.detail_news h1{
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
}
.detail_news h2{
	margin-top: 120px;
}
.detail_news h3{
	margin-top: 40px;
}
.detail_news ul{
	margin: 20px 0;
	font-size: 16px;
	line-height: 2;
	letter-spacing: .05em;
}
.detail_news ul li::before{
	content: '・';
  color: var(--color-primary);
  font-weight: 900;
}
.detail_news ol{
	margin: 20px 0;
	font-size: 16px;
	line-height: 2;
	letter-spacing: .05em;
}
.detail_news ol li::before{
	content: counter(list-item) '. ';
  color: var(--color-primary) ;
  font-weight: 900;
}
.detail_news ul li {
	display: flex;
  align-items: baseline;
}
.detail_news ul li + li ,
.detail_news ol li + li{
	margin-top: 8px;
}
.detail_news p{
	margin: 20px 0;
	font-size: 16px;
	line-height: 2;
	letter-spacing: .05em;
}
.detail_news a{
	color: var(--color-primary);
	text-decoration: underline;
}
.detail_news img{
	margin: 20px 0;
}
@media (max-width: 767px){
	.detail_news{
		margin-bottom: 64px;
	}
	.detail_news .tag{
		margin-bottom: 24px;
	}
	.detail_news h1{
		font-size: 24px;
		line-height: 1.5;
	}
	.detail_news h2{
		margin-top: 64px;
	}
	.detail_news h3{
		margin-top: 32px;
	}
	.detail_news ul{
		font-size: 15px;
	}
  .detail_news ul li,
  .detail_news ol li {
    font-size: 15px;
  }
	.detail_news p{
		font-size: 15px;
	}
}

.detail_case{
	margin-bottom: 120px;
}
.detail_case .case_slider{
	background: #F9F9F9;
	margin: 80px 0 120px;
	padding: 40px;
}
.detail_case .case_slider p{
	margin-bottom: 26px;
	padding-bottom: 24px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.8;
	border-bottom: 1px solid #E0E0E0;
}
.detail_case .case_slider .slick-list img{
	width: 100%;
}
.detail_case .case_slider .slick-dots{
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 20px;
	padding-top: 26px;
}
.detail_case .case_slider .slick-dots img{
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
@media (min-width: 768px){
  .detail_case .case_slider .slick-dots li:hover {
    cursor: pointer;
    opacity: 0.8;
    transition: 0.2s;
  }
  
}
.detail_case .row{
	display: flex;
	align-items: flex-start;
	gap: 20px 40px;
	margin-top: 120px;
}
.detail_case .row .img_content{
	width: 40%;
}
.detail_case .row .txt_content{
	flex: 1;
}
@media (max-width: 767px){
	.detail_case{
		margin-bottom: 64px;
	}
	.detail_case .case_slider{
		margin: 40px 0 64px;
		padding: 20px;
	}
	.detail_case .case_slider p{
		margin-bottom: 20px;
		padding-bottom: 20px;
		font-size: 22px;
		line-height: 1;
	}
	.detail_case .case_slider .slick-dots{
		grid-template-columns: repeat(3, 1fr);
	}
	.detail_case .row{
		flex-direction: column;
		margin-top: 64px;
	}
	.detail_case .row .img_content{
		width: 100%;
	}
}




/* サイドバー用レイアウト */
.low_column {
  display: flex;
  gap: 80px;
}
.low_column *{
  min-height: 0;
  min-width: 0;
}
.low_column .post_sec {
  width: 100%;
  max-width: 1180px;
}
.low_side-ber {
  min-width: 280px;
  width: 280px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (max-width: 960px) {
  .low_side-ber {
    display: none;
  }
}
.low_side-ber_title {
  padding-bottom: 12px;
  border-bottom: 2px solid #327AC8;
}
.low_side-ber_title .txt {
  font-size: 18px;
  line-height: 2;
  font-weight: 700;
}
.low_side-ber .low-img {
  margin-bottom: 16px;
}
.low_side-ber_page .nav_page > li > a {
  font-weight: 500;
  border-bottom: 1px solid #aaa;
  display: block;
  padding: 16px 0;
  font-size: 14px;
  position: relative;
}
.low_side-ber_page .nav_page > li > a::after {
  content: '';
  background: var(--color-font);
  position: absolute;
  inset: 50% 8px auto auto;
  translate: 0 -50%;
  width: 10px;
  height: 10px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transition: 0.2s;
}
.low_side-ber_page .nav_page > li > a:hover {
  color: #0e6dd3;
}
.low_side-ber_page .nav_page > li > a:hover::after {
  background: #0e6dd3;
}

.nav_column {
  margin-top: 10px;
}
.nav_column li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 0;
  font-size: 14px;
  transition: 0.2s;
}
.nav_column li a .title {
  width: 193px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-weight: 500;
}
.nav_column li a .title time {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  color: #8b8b8b;
}
.nav_column li a img {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  object-fit: cover;
  object-position: center;
  transition: 0.2s;
}
.nav_column li a:hover {
  color: #0e6dd3;
}
.nav_column li a:hover img {
  scale: 1.1;
}
.nav_category {
  display: flex;
  gap: 16px 10px;
  padding: 10px 0;
  flex-wrap: wrap;
  margin-top: 10px;

}
.nav_category li a {
  color: white;
  font-size: 14px;
  font-weight: 500;
  background-color: #21638C;
  border: 1px solid #21638C;
  padding: 4px 16px;
  border-radius: 30px;
  transition: 0.2s;
}
.nav_category li a:hover {
  background-color: var(--color-white);
  color: #21638C;
}

/* smf */
.low_column.downloadform {
  gap: 40px;
}
@media (max-width: 767px){
  .low_column.downloadform {
    flex-direction: column;
    align-items: center;
  }
}
.snow-monkey-form {
  width: 100%;
  max-width: 400px;
  padding: 20px;
  background-color: #F5F5F5;
  height: fit-content;
  border-radius: 8px;
}
.contactform .snow-monkey-form {
  max-width: 1080px;
  margin: 0 auto;
  padding: 40px 20px;
}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
  background-color: var(--color-primary) !important;
}
.smf-form--letter .smf-item {
  padding: 16px 0 !important;
}
.smf-form--letter .smf-item__col--label {
  font-weight: 700;
  font-size: 16px;
  color: var(--color-primary);
}
.smf-form--letter .smf-text-control__control ,
.smf-textarea-control__control {
  padding: 8px;
  font-size: 15px;
  line-height: 1.5;
  border-radius: 5px;
  font-family: "Noto Sans JP", sans-serif;
}
.downloadform .smf-action .smf-button-control__control ,
.contactform .smf-action .smf-button-control__control ,
.contactform .smf-action .smf-button-control__control[data-action="back"]:hover {
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
  background-image: none;
  color: var(--color-white);
  cursor: pointer;
  width: 240px;
  max-width: 100%;
  padding: 20px;
  border-radius: 50px;
  font-size: 16px;
  transition: 0.2s;
}

.downloadform .smf-action .smf-button-control__control:hover ,
.contactform .smf-action .smf-button-control__control:hover ,
.contactform .smf-action .smf-button-control__control[data-action="back"] {
  background-color: var(--color-white);
  color: var(--color-primary);
}

.smf-item__label__text code mark {
  background-color: red !important;
  color: var(--color-white) !important;
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 50px;
  margin-left: 4px;
}
.smf-item__label__text a {
  color: blue;
  text-decoration: underline;
  transition: 0.2s;
}

.smf-form--letter+.smf-action {
  gap: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 40px !important;
}

.smf-form--letter .smf-item {
  border-bottom: 1px solid #cccccc;
}
.smf-complete-content .txt {
  margin-top: 40px;
  text-align: center;
  font-size: 18px;
}
.smf-comp-fade {
  opacity: 0;
  transition: 0.2s;
  transform: translateY(20px);
  animation: smf-comp-fade 0.5s ease-out forwards;
}
@keyframes smf-comp-fade {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* animation */
.js-fade-in-up {
  /* 初期状態: 透明で20px下にずらす */
  opacity: 0;
  transform: translateY(20px);
  /* アニメーションの速度と滑らかさを定義 */
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  /* 念のため、初期状態ではアニメーションさせない（遅延読み込み用） */
  transition-delay: 0.1s; 
}

/* 2. JavaScriptで付与するクラス */
.js-fade-in-up.is-visible {
  /* 表示状態: 透明度を戻し、位置をリセット */
  opacity: 1;
  transform: translateY(0);
}

.delay-1 {
  transition-delay: 0.1s;
}
.delay-2 {
  transition-delay: 0.2s;
}
.delay-3 {
  transition-delay: 0.3s;
}
.delay-4 {
  transition-delay: 0.4s;
}
.delay-5 {
  transition-delay: 0.5s;
}