@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@500&display=swap');

main p{font-size:15px;margin-bottom :1.6em;}
main img{vertical-align: bottom;}
.page-body img{width:100%;}
.bg_gray{background-color: #F2F2F2;}
.section-inline-title {
  flex-direction: column;
  align-items: flex-start;
}
.section-inline-title > .jpn{
  padding: 0;
  margin-top: 10px;
}
.bricks-row-outer.row1{padding:0;}
.bricks-row-outer.row1 .container{padding:25px 20px;}
.bricks-row-outer.row1::after {content: none;}
.bricks-row-outer.row1 .container .bricks-row-body{
  padding:30px 18px;
  background-color: rgba(255, 255, 255, 0.83);
  margin: 0;
}
.bricks-row-outer.row1 .container .bricks-row-body p{margin-top:0;}
.bricks-row-outer.row1 .container .bricks-row-body p:last-child{margin-bottom:0;}

#h_spec,
#h_dannetsu,
#h_kimitsu,
#h_kanki,
#h_es{
  padding:60px 15px;
  background-size: cover;
  background-position: center;
}
#h_dannetsu{background-image: url(./img/bg_h_dannetsu_sp.jpg);}
#h_kimitsu{background-image: url(./img/bg_h_kimitsu_sp.jpg);}
#h_kanki{background-image: url(./img/bg_h_kanki_sp.jpg);}
#h_es{background-image: url(./img/bg_h_es_sp.jpg);}

.h_txt{
  font-family: var(--yumincho);
  /* font-size:22px; */
  font-size: clamp(10px, 5vw, 22px);
  font-weight: 500;
  text-align:center;
  line-height: 1;
  letter-spacing: 2px;
  padding:13px 20px;
  background-color: rgba(255, 255, 255, 0.7);
  width: max-content;
  margin: auto;
}

#spec_img{
  display: block;
  width: 100%;
  max-width: 1400px;
  margin:70px auto;
}

.cont-wrapper{
  max-width:1000px;
  padding:40px 5% 60px;
  margin:auto;
}
.cont_title{
  font-family: var(--yumincho);
  font-size: 20px;
  font-weight: 500;
  margin-bottom:30px;
}
.flex-box{
  display: grid;
  gap:40px;
  margin-bottom:70px;
}
.cont-wrapper .flex-box:last-child{margin-bottom:0;}
.cont-wrapper p:last-child{margin-bottom:0;}
.flex-grade{
  gap:10px;
  margin-bottom:35px;
}

.flex-txt p:last-child{margin-bottom: 0;}
.txt_blue{
  color:#19225A;
  font-size:20px;
  font-family: var(--futura);
  font-style: italic;
  line-height: 1;
  margin-bottom:15px;
}
.txt_blue span{font-size:18px;font-style: normal;padding-left: 10px;}
.flex-grade p{font-size:13px;margin-bottom:15px;}
.flex-grade ul{
  list-style: disc;
  padding-left: 1.3em;
}
.flex-grade li{
  line-height: 1.3;
  padding-bottom: 0.6em;
}
.flex-grade li::marker {color: #19225A;}
.hosoku{margin-bottom:70px;}
#check_wrapper{
  padding:40px 13px;
  background-color:#fff;
  margin:0 auto 40px;
}
#check_flex{
  display: flex;
  justify-content: center;
  align-items: center;
  gap:20px;
  margin-bottom:35px;
}
.double_line{
  width:100%;
  height:8px;
  border-top:1px solid #707070;
  border-bottom:1px solid #707070;
  margin-top: 5px;
}
#check_title{
  display: block;
  font-size:24px;
  line-height: 1;
  width:max-content;
}
#check_wrapper p{
  text-align: center;
  margin-bottom:20px;
}
#check_wrapper img{
  display:block;
  margin: auto;
  width: 100%;
  max-width: 430px;
}

.benefits{
  display: block;
  width:90%;
  margin:0 auto 35px;
}
#kanki_2{max-width:742px;}
#es_2{max-width:700px;}

.btn-news{margin:60px 20px;}
.btn-news .link-btn{
  display: block;
  width: 100%;
  height: auto;
  font-size:18px;
  line-height:1;
  text-align: center;
  padding:15px 0 15px 3em;
  max-width: 350px;
  margin: auto;
}
.link-btn:hover {border: 1px solid var(--font-color);}
.link-btn::before {
  width:13px;
  height:13px;
  background-size:13px;
  top:calc(50% - 7px);
}
.link-btn span{
  position: relative;
  right: unset;
  display: block;
  font-size:22px;
  padding-top: 10px;
}
#message{
  padding:70px 20px;
  background-image: url(./img/bg_message_sp.jpg);
  background-size: cover;
  background-position: center;
  margin-bottom:70px;
}
#bg_white{
  padding:44px 16px;
  background-color: rgba(255, 255, 255, 0.85);
}
#bg_white p{
  text-align: center;
  margin-bottom:0;
}
.txt_c{text-align:center;}

@media screen and (max-width:767px){
.disp-pc{display:none;}
.page-bricks{background-image: url(./img/bg_obi_sp.jpg);}
.bricks-row-outer.row1 .container{
  background-image: url(./img/bg_catch_sp.jpg);
  background-size: cover;
  background-position: center bottom;
  padding-bottom: 75vw;
}
/* max767 */
}

@media screen and (min-width:768px){
.disp-sp{display:none;}
.page-bricks{background-image: url(./img/bg_obi_pc.jpg);}
.bricks-row-outer.row1{
  height: auto;
  margin-top:50px;
}
.bricks-row-outer.row1 .container{
  padding:65px 65px 380px;
  background-image: url(./img/bg_catch_sp.jpg);
  background-size: cover;
  background-position: bottom;
}
.bricks-row-outer.row1 .container .bricks-row-body{padding:35px 40px;max-width: 583px;}
.bricks-row-outer.row1 .bricks-col{
  display: block;
  height: auto;
  width: auto;
}
.bricks-row-outer.row1 .container .bricks-row-body p{max-width: unset;margin-left: unset;}

#h_spec{padding: 100px 0 54px;}
#h_dannetsu,
#h_kimitsu,
#h_kanki,
#h_es{padding: 95px;}
#h_dannetsu{background-image: url(./img/bg_h_dannetsu_pc.jpg);}
#h_kimitsu{background-image: url(./img/bg_h_kimitsu_pc.jpg);}
#h_kanki{background-image: url(./img/bg_h_kanki_pc.jpg);}
#h_es{background-image: url(./img/bg_h_es_pc.jpg);}

.h_txt {font-size:24px;padding: 13px 30px;}

#spec_img{margin:30px auto 100px;}
.cont-wrapper{padding:100px 15px;}
.flex-box{
  gap: 60px;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 100px;
}
.flex-box.pc-reverse .txt{
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
.flex-box.pc-reverse img{
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
.txt_blue {font-size:27px;}
.txt_blue span{font-size:20px;margin-bottom: 30px;}
.flex-grade{grid-template-columns: 4fr 6fr;}
.flex-grade p {font-size: 15px;}
.hosoku {margin-top: -50px;}
#check_wrapper {padding: 60px 85px;margin-bottom:90px;}
#check_flex {gap:70px;}
#message{
  padding-top:150px;
  padding-bottom:150px;
}
#bg_white {
  padding-top:70px;
  padding-bottom:70px;
  max-width: 980px;
  margin: auto;
}
#bg_white p{
  width: 100%;
  max-width: 40em;
  margin: auto;
}
.cont_title{font-size:22px;}
#message{margin-bottom:200px;}
.btn-news{margin:100px 0;}
/* min768 */
}
@media screen and (min-width: 992px) {
.bricks-row-outer.row1 .container{
  padding:65px 65px 130px;
  background-image: url(./img/bg_catch_pc.jpg);
  background-position: center;
}

/* min992 */
}
@media screen and (min-width:1200px){
.cont_title{margin-bottom:50px;margin-left: -3em;}
.cont_title.txt_c{margin-bottom:30px;margin-left:0;}

/* min1200 */
}