.img_l{
  border-radius:0 81px 0 81px;
}

.img_s{
  border-radius:0 51px 0 51px;
}

br.sp{display: inline;}
br.pc{display: none;}

h1{
  position: relative;
  display: block;
  width: 100%;
  margin:0 auto 114px;
  padding:0 20px;
  font-size: 26px;
  letter-spacing: 0.1em;

}


h1:before,
h1:after{
  content: '';
  position: absolute;
  display: block;
  left: 50%;
  width: 100%;
  max-width: 293px;
  height: 42px;
  background:center / 100% auto no-repeat;
}

h1:before{
  top: calc(-100% - 20px);
  transform: translateX(-50%);
  background-image: url('../image/common/h1_border.png');
}

h1:after{
  bottom: calc(-100% - 20px);
  transform: translateX(-50%) rotate(180deg);
  background-image: url('../image/common/h1_border.png');
}

h2{
  padding-bottom: 16px;
  font-size: 24px;
  line-height: 40px;
  letter-spacing: 0.2em;
  text-align: center;
  background:bottom center / 100% auto no-repeat url('../image/common/h2_border.png');
  box-sizing: border-box;
}

h3{
  display: block;
  width: 100%;
  max-width: 200px;
  height: 43px;
  margin:0 0 20px 0;
  font-size: 16px;
  text-align: center;
  background:bottom center / 100% auto no-repeat url('../image/common/h3_border.png');
}

.box{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  width: 100%;
  max-width: 280px;
  margin:0 auto;
  padding:30px;
  border-radius: 10px;
}

.box>h3,.box>ul,.box>p{
  min-height: 0%;
  flex-shrink: 0;
}

/* ==================
      header
================== */
header{
  height: 94px;
  padding:36px 0 0;
}

header:before{
  content: '';
  position: absolute;
  bottom: -26px;
  left: 0;
  display: block;
  width: 100%;
  height: 26px;
  background:top center / auto 100% repeat url('../image/common/pattern_01.png');
}

header p{
  display: block;
  width: 100%;
  max-width: initial;
  margin:0 auto;
  font-size: 24px;
  text-align: center;
}


/* ==================
      footer
================== */
footer{
  position: relative;
  width: 100%;
  height: 93px;
  padding:40px 20px;
  font-size: 11px;
  letter-spacing: normal;
  text-align: center;
  color: #fff;
  background-color: #1c4b90;
}

footer:before{
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  display: block;
  width: 100%;
  height: 32px;
  background:center / auto 100% repeat url('../image/common/pattern_03.png');
}

/* ==================
    #top_box
================== */

#top_box{
  position: relative;
  display: block;
  width: 100%;
  max-width: 1920px;
  margin:0 auto;
}

#top_box .slide{display: none;}

#top_box .slide-sp{
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 67.6328%;
}

#top_box .slide-sp img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: -1;
  opacity: 0;
  animation: Slide 18s ease infinite;
}

@keyframes Slide {
  0%{ opacity: 0; }
	8%{ opacity: 1; }
	33%{ opacity: 1; }
	41%{ opacity: 0; }
	100%{ opacity: 0; }
}

#top_box .slide-sp img:nth-child(1){animation-delay: 0s;}
#top_box .slide-sp img:nth-child(2){animation-delay: 6s;}
#top_box .slide-sp img:nth-child(3){animation-delay: 12s;}


#top_box .link_box{
  position: absolute;
  bottom:-110px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 768px;
  padding:76.1083% 8px 0;
}

#top_box .link_box .flex_box{
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 230px;
  height: 150px;
  padding:0;
  margin:0 0 0 auto;
}

#top_box .link_box .flex_box>a{
  position: absolute;
  width: 122px;
}

#top_box .link_box .flex_box .left{
  top: 0;
  left: 0;
}

#top_box .link_box .flex_box .right{
  bottom: 0;
  right: 0;
}

/* ==================
    #section01
================== */
#section01{
  position: relative;
  width: 100%;
  max-width: 1920px;
  padding:140px 20px;
  margin:0 auto;
  overflow:hidden;
}

#section01 .flex_box{
  position: relative;
  display: flex;
  justify-content:space-between;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  max-width: 290px;
  margin:0 auto;
}

#section01 .flex_box>div{
  min-height: 0%;
  flex-shrink: 0;
}

#section01 .flex_box dt{
  font-size: 26px;
  line-height: normal;
  letter-spacing: 0.2em;
}

#section01 .flex_box p{
  font-size: 14px;
  line-height: 22px;
}

#section01 .flex_box .right{
  margin-top: 24px;
}

#section01 .flex_box .right p:first-child{
  margin-bottom: 5px;
}

#section01 .flex_box:before,
#section01 .flex_box:after{
  content: '';
  position: absolute;
  display: block;
  width: 713px;
  height:142px;
  background:center / 100% auto no-repeat;
  z-index: -1;
}

#section01 .flex_box:before{
  top: -40px;
  left: -460px;
  background-image:url('../image/common/bg_01.png');
}

#section01 .flex_box:after{
  bottom: -95px;
  right: -450px;
  background-image:url('../image/common/bg_02.png');
}

/* ==================
    #section02
================== */
#section02{
  padding:220px 20px 0;
}

#section02:before{
  content: '';
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 100%;
  height: 32px;
  background:center / auto 100% repeat url('../image/common/pattern_02.png');
}

#section02 .txt_box{
  width: 100%;
  max-width: 820px;
  margin:0 auto 40px;
  font-size: 16px;
  line-height: normal;
}

#section02 .info{}

#section02 .info ul{
  display: block;
  width: 100%;
  font-size: 14px;
}

#section02 .info ul li{
  padding-left: 14px;
  text-indent: -14px;
}

#section02 .info ul li:last-child{
  padding-left: 14px;
}

#section02 .info ul li span{
  font-size: 12px;
}

/* ==================
      #exp_box
================== */
#exp_box{
  position: relative;
  width: 100%;
  margin:0 auto;
  padding:140px 20px;
  background:top 0 left -148px / 490px auto no-repeat url('../image/common/bg_03.png');
  background-color: #fff0e8;
}

#exp_box .exp_item{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  width: 100%;
  max-width: 280px;
  margin:0 auto 140px;
}

#exp_box .exp_item>div{
  min-height: 0%;
  flex-shrink: 0;
}

#exp_box .exp_item p{
  margin:20px 0;
}

#exp_box .exp_item ul{}

#exp_box .exp_item ul li{
  padding-left: 48px;
  text-indent: -48px;
}

#exp_box .exp_item ul li span{
  font-size: 12px;
}

#exp_box .exp_item .large{
  width: 100%;
  max-width: 580px;
  margin-bottom: 20px;
  order: 0;
}

#exp_box .exp_item .small{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  max-width: 460px;
  order: 0;
}

#exp_box .exp_item .small .txt_box{
  width: 100%;
  max-width: 320px;
  margin-top: 40px;
  font-size: 14px;
}

#exp_box .exp_item:last-child{
  margin:0 auto;
}

#exp_box .exp_item:nth-child(2n) .large{
  order: 0;
}

#exp_box .exp_item:nth-child(2n) .small{
  order: 1;
}

/* ==================
    #section03
================== */
#section03{
  position: relative;
  width: 100%;
  padding: 200px 20px;
  background-color: #fff;
}

#section03:before{
  content: '';
  position: absolute;
  top: -17px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 100%;
  height: 32px;
  background:center / auto 100% repeat url('../image/common/pattern_02.png');
}

#section03 .flex_box{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  width: 100%;
  max-width: 280px;
  margin:0 auto;
  line-height: normal;
  color: #1c4b90;
}

#section03 .flex_box>div{
  min-height: 0%;
  flex-shrink: 0;
}

#section03 .flex_box dt{
  font-size: 24px;
  margin-bottom: 6px;
}

#section03 .flex_box dd{
  font-size: 14px;
}

#section03 .flex_box .left{
  width: 100%;
  max-width: 640px;
  margin-bottom: 40px;
  border-radius: 0 23px 0 23px;
  overflow: hidden;
}

#section03 .flex_box .right{
  width: 100%;
  max-width: 344px;
  text-align: center;
}

#section03 .reserve{
  margin-top: 40px;
}

#section03 .reserve p{
  font-size: 16px;
  text-align: center;
}

/* ==================
    #section04
================== */
#section04{
  position: relative;
  padding:305px 20px 140px;
  background-color: #fff2cc;
}

#section04:before{
  content: '';
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 100%;
  max-width: initial;
  height: 32px;
  background:center / auto 100% repeat url('../image/common/pattern_02.png');
}


#section04 .open{
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin:0 auto;
}

#section04 .open .img{
  position: absolute;
  top: -143px;
  left: 50%;
  width: 100%;
  max-width: 100px;
  transform: translate(-50%,0%);
  z-index: 2;
}

#section04 .open img{
  width: 100px;
  height: 100px;
}

#section04 .txt_box{
  width: 100%;
  max-width: 820px;
  margin:-45px auto 40px;
  font-size: 16px;
  line-height: normal;
}

#section04 .flex_box{
  display: flex;
  justify-content:space-between;
  flex-direction: column;
  width: 100%;
  max-width: 280px;
  margin:0 auto;
  font-size: 14px;
  line-height: normal;
}

#section04 .flex_box>div{
  min-height: 0%;
  flex-shrink: 0;
}

#section04 .flex_box p{
}

#section04 .flex_box .left{
  margin:0;
  order: 1;
}

#section04 .flex_box .right{
  position: relative;
  width: 100%;
  max-width: 580px;
  margin-bottom: 40px;
  border-radius: 0 81px 0 81px;
  order: 0;
}

#section04 .flex_box .right p{
  position: absolute;
  bottom: 10px;
  right: 10px;
  font-size: 10px;
}

#section04 .flex_box .goods_list{
  display: block;
  margin:40px 0;
  padding:20px;
  background-color: #fff;
  border-radius: 10px;
}

#section04 .flex_box .goods_list dt{
  margin-bottom: 10px;
  font-size: 14px;
  color: #1c4b90;
}

#section04 .flex_box .goods_list ul li{
  padding-left: 12px;
  font-size: 12px;
  text-indent: -12px;
}
