@charset "UTF-8";

/* ====================================
  sp.pc_hide
==================================== */
@media screen and (min-width:679px) {
  .sp {
    display: none !important;
  }
  }
  @media screen and (max-width:678px) {
    .pc {
      display: none !important;
    }
  }

/* ====================================
  main
==================================== */
.pane-main{
  margin-bottom: 0 !important;
}
.wrapper .pane-footer{
  position: relative;
  z-index: 1;
}
.content_wrap,.content{
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
}
.content {
  background-color: #CEEFF2;
}
.content a{
  display: block;
}
.content a:valid,.content a:focus{
  text-decoration: none;
}
:root {
  --color_d_blue: #015197;
  --rl-padding:4.08%;
  --header-height: 80px; /* 初期値（保険） */
}
.flex_area{
  display: flex;
  gap: 5%;
  justify-content: space-between;
  align-items: center;
}
.grid_area{
  display: grid;
  gap: 40px var(--rl-padding);
  grid-template-columns: 1fr 1fr;
  text-align: left;
  padding: 0 var(--rl-padding);
}
.main_area,.pc_left,.pc_right {
  position: relative;
  z-index: 1;
}
.pc_left,.pc_right{
  width: calc((100% - 490px) / 2);
  position: fixed;
  top: var(--header-height);
  transition: top 0.3s ease;
  height: calc(100vh - var(--header-height));
  background-color: #CEEFF2;
}
.pc_left{
  left: 0;
}
.pc_right{
  right: 0;
  background-image: url(/ec/img/usr/pg/campaign/summer-suit/pc_right_c.svg),url(/ec/img/usr/pg/campaign/summer-suit/pc_right_rb.svg);
  background-position: left 140px center , left 296px bottom 50px;
  background-repeat: no-repeat;
}
@media screen and (min-width:679px) and (max-width:1440px) {
  .pc_right{
    background-position: center center , left 62.32% bottom 50px;
  }
}

p.l_titel,.pc_left_nav{
  width: 100%;
  max-width: 475px;
padding: 0 49px;
position: absolute;
right: 0;
}
@media screen and (min-width:679px) and (max-width:1440px) {
  p.l_titel,.pc_left_nav{
    padding: 0 2vw;
  }
}
p.l_titel{
  top: 40px;
}
.pc_left_nav{
bottom: 25px;
}
.pc_left_nav p.sm_h2{
margin-bottom: 20px;
}
.pc_left_nav ul li {
  margin-bottom: 25px;
}
.pc_left_nav ul li a{
  opacity: 0.3;
  color: var(--color_d_blue);
  font-size: 13px;
}
.pc_left_nav ul li a:hover,
.pc_left_nav ul li a.current{
  opacity: 1;
}
.pc_left_nav ul li a span{
  font-size: 14px;
  font-weight: 600;
color: #fff;
background-color: var(--color_d_blue);
border-radius: 10px;
padding: 5px 15px;
margin-bottom: 8px;
display: inline-block;
}
.pc_left_nav ul li:nth-of-type(4) a {
  color: #6E6C68;
}
.pc_left_nav ul li:nth-of-type(4) a span{
  background-color: #6E6C68;
}

.main_area {
  width: 490px;
  margin: 0 calc((100vw - 490px) / 2);
  background-color: #fff;
  text-align: center;
  color: #282828;
}

section{
  padding-bottom: 80px !important;
}
.mv{
  margin-bottom: 48px;
}
h2.sm_h2{
  margin:0 auto 20px !important;
}
.suit h2.sm_h2{
  width: 73.8vw;
max-width: 362px;
}
.anchor_area h2.sm_h2{
  width: 51.4vw;
max-width: 252px;
}
.anchor_area ul {
margin-bottom: 14px;
gap: 20px var(--rl-padding);
}
.anchor_area ul li a{
  color: #fff;
  width: 43.8vw;
  height: 16.58vw;
  max-width: 215px;
  max-height: 81px;
  font-weight: 600;
  font-size: clamp(11px, 3vw, 15px);
  padding: clamp(10px, 4vw, 20px) clamp(8px, 3vw, 15px);
  background-image: url(/ec/img/usr/pg/campaign/summer-suit/ancbk_01.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.anchor_area ul li:nth-of-type(2) a{
  background-image: url(/ec/img/usr/pg/campaign/summer-suit/ancbk_02.png);
}
.anchor_area ul li:nth-of-type(3) a{
  background-image: url(/ec/img/usr/pg/campaign/summer-suit/ancbk_03.png);
}
.anchor_area ul li:nth-of-type(4) a{
  background-image: url(/ec/img/usr/pg/campaign/summer-suit/ancbk_04.png);
}
.anchor_area ul li a span{
  display: block;
  font-size: 12px;
  margin-bottom: 4px;
}

p.sb_h{
color: #85ADC2;
font-weight: 500;
margin-bottom: 5px;
}
h3.sm_h3 {
  font-size: 24px;
font-weight: 500;
margin-bottom: 15px !important;
}
.main_img{
  margin: 30px 0 30px;
}
.suit .main_img{
  margin: 20px 0 49px;
}
.suit .flex_area{
width: 100%;
max-width: 383px;
margin: 0 auto;
position: relative;
}
.suit .flex_area::after,.suit .flex_area::before{
  content: "";
  width: 21px;
  height: 16px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}
.suit .flex_area::before{
  background-image: url(/ec/img/usr/pg/campaign/summer-suit/coron_t.svg);
  top: -13px;
  left: -20px;
}
.suit .flex_area::after{
  background-image: url(/ec/img/usr/pg/campaign/summer-suit/coron_b.svg);
  bottom: -13px;
  right: -20px;
}
.suit .flex_area img{
  width: 29.4vw;
  max-width: 140px;
}
.suit .flex_area p{
  width: auto;
  text-align: left;
}
.suit .grid_area{
margin-top: 58px;
}
.grid_area p{
  line-height: 1.6;
}
p.sm_item{
  margin-top: 10px;
}
.more_btn {
  margin: 40px var(--rl-padding) 0;
}
.more_btn a{
color: var(--color_d_blue);
font-size: 16px;
padding: 25px 0;
border: solid 1px var(--color_d_blue);
border-radius: 5px;
position: relative;
}
.more_btn a::before,.more_btn a::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.more_btn a:before {
  content: '';
  width: 30px;
  height: 30px;
  background: var(--color_d_blue);
  border-radius: 50%;
  right: var(--rl-padding);
}
.more_btn a::after{
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  transform: rotate(45deg);
  right: calc(var(--rl-padding) + 12px);
}

.sp_one{
  background-color: #F6F6F0;
  padding: 5px !important;
}
.sp_one .sec_inner{
border: solid 1px #9D9A8C;
padding: 33px 0 40px;
}
.sp_one p.sb_h{
  width: 34vw;
  max-width: 167px;
margin:0 auto 20px;
}
p.sp_one_more{
  width: 94.7vw;
  max-width: 450px;
  margin: 30px auto 0;
  padding-top: 30px;
  border-top: solid 1px #B0AA94;
}
p.sp_one_more a{
  display: inline-block;
  color: #9D9A8C;
  text-decoration: underline;
}
.sp_one .main_img {
  margin: 30px 0 40px;
}
.sp_one .grid_area {
  margin-top: 0px;
}
.sp_one .more_btn a{
  color:#5E594D;
  border: solid 1px #6E6C68;
}
.sp_one .more_btn a:before{
  background:#5E594D;
}

.coorde{
  padding: 40px 0 !important;
  background-color: #E9F6FD;
}
.coorde:nth-of-type(8){
  padding-bottom: 80px !important;
}
.coorde h2.sm_h2 {
  width: 57.5vw;
max-width: 282px;
  margin: 22px auto 28px !important;
}
.coorde h3.sm_h3 span{
display: block;
margin:0 auto 8px;
width: 11.2vw;
max-width: 55px;
}
.coorde h4.sm_h4{
  width: 67.1vw;
max-width: 329px;
margin: 0 auto;
}
.coorde .grid_area{
  margin-top: 30px;
}


.banner{
  padding: 80px var(--rl-padding);
}
.recommend{
  padding: 80px var(--rl-padding) 0 !important;
}
.recommend > a:first-child{
  margin-bottom: 60px;
}
.recommend h4{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 30px;
}
.recommend p.kome{
  margin: 20px 0 80px;
}
.recommend p.kome a{
  display: inline;
  color: var(--color_d_blue);
  text-decoration: underline;
}


/* ====================================
  responsive
==================================== */

@media screen and (max-width:678px) {
  .pc_left,.pc_right,.bg_container{
    display: none;
  }
  .main_area{
    width: 100%;
    margin: 0;
  }
  .wrapper h1 {
    margin-bottom: 0 !important;
  }
  .suit .flex_area {
    max-width: 318px;
    justify-content: center;
}
.suit .flex_area p{
  font-size: 12px;
}
  .more_btn a{
    padding: 22px 6% 22px 0;
  }
  #_09 {
    padding-bottom: 0 !important;
}
}


@media screen and (min-width:1366px){

}


