html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	font-weight: normal;
	vertical-align: baseline;
  scroll-behavior: smooth; /* スムーススクロール */
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
#primary{

}
body {
	line-height: 1.5;
  font-family: Hiragino Kaku Gothic ProN,Hiragino Sans,BIZ UDPGothic,Meiryo,sans-serif;
  color: #3d3f42;
  font-size: 16px;
}
p{
	letter-spacing: .1em;
  line-height:1.8;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a {
	text-decoration: none;
}
a:link, a:visited, a:hover, a:active {
  color: inherit;
}
*,*::after,*::before {
	box-sizing: border-box;
	box-sizing: border-box;
	word-wrap: break-word;
}

img {
		width: 100%;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
@media screen and (max-width: 768px){
	body{
		font-size: 14px;
	}
}
/*common*/
.sp-area{
  display: none;
}

section{
  width: 100%;
}
p.text-title{
  letter-spacing: .1em;
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  margin-bottom: 30px;
}

.text-red{
	 color: #D62128!important;
    font-weight: normal!important;
    font-size: inherit!important;
    margin-right: 0!important;
}
.text-pink{
	color: #E85298;
}
.text-border{
	 text-decoration: underline;
}
.text-bold{
	font-weight:bold;
}
.back-pink{
    display: inline;
    position: relative;
    padding: 0 10px;
    z-index: 0;
    letter-spacing: .19em;
    font-weight: bold;
    font-size: 1.2rem;
    line-height:2;
}
.back-pink::before{
content: "";
    background: #ffe7f2;
    border-radius: 10px;
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 14px;
    z-index: -1;
}
.br-sp {
  display: none;
}
.inner{
  max-width:920px;
  text-align:center;
  margin:auto;
}

@media screen and (max-width: 768px){
  section{
    width: 95%;
    margin:auto;
		padding: 0;
  }
  .inner{
    max-width:340px;
    text-align: center;
    margin:auto;
  }

  .sp-area{
    display: block;
  }
  .pc-area{
    display: none;
	}
	p.text-title{
		font-size: 20px;
	}
  .br-sp {
    display: block;
}
}

a{
  text-decoration:none;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
a:hover{
  opacity: .8;
}
a:visited{
	color: inherit;
}
.annotation{
  font-size: 12px;
  font-weight: normal;
}
/*ここからーー追加したいcss記載していく*/

/*top_container*/
section.top_container{
  position: relative;
  width: 100%;
  max-width: none;
}

section.top_container .pc-area{
  position: relative;
  width: 100%;
  max-width: none;
}

section.top_container .overlay-text{
  position: absolute;
  top: 58px;
  right: 0%;
  margin:0;
  font-size: 52px;
  color: #ffffff;
  letter-spacing: .1em; 
  display: inline-block;
  letter-spacing: 0;
}

section.top_container .first-text{
  margin-bottom:8px;
  font-size: 60px;
  padding: 0px 180px 0px 32px;
  background:#78705A;
  opacity: 0.7;
  line-height: 1.6;
  letter-spacing: 0em;
}
section.top_container .second-text{
  font-size: 48px;
  padding: 0px 180px 0px 32px;
  background:#78705A;
  opacity: 0.7;
  line-height: 1.4;
  letter-spacing: 0em;
  font-weight: lighter;
}

 @media screen and (min-width:769px) and ( max-width:1187px) {
 section.top_container .text .sub{
	font-size:2vw;
}
 }

 @media screen and (min-width:769px) and ( max-width:1187px) {
 section.top_container .overlay-text{
  position: absolute;
  top: 58px;
  right: 0%;
  margin:0;
  font-size: 34px;
  color: #ffffff;
  letter-spacing: .1em; 
  display: inline-block;
  letter-spacing: 0;
}
 }

@media screen and (max-width: 768px){
section.top_container{
    overflow: hidden;
}
section.top_container .overlay-text{
  position: absolute;
  top: 176px;
  right: 0;
  left: 0;
  margin: 0 16px;
  color: #ffffff;
  display: inline-block;  
  letter-spacing: 0;
  text-align: center;
  display: inline-block;
}
section.top_container .first-text{
  margin: 0px 0px 8px;
  font-size: 32px;
  padding: 0 8px;
  background:#78705A;
  opacity: 0.7;
  line-height: 1.6;
  letter-spacing: 0em;
}
section.top_container .second-text{
  margin:0 16px 8px;
  font-size: 26px;
  padding: 0 8px;
  background:#78705A;
  opacity: 0.7;
  line-height: 1.4;
  letter-spacing: 0em;
  font-weight: lighter;
}
}

/*lead-container*/
section.lead-container{
    max-width:920px;
    text-align:center;
    margin:60px auto;
    background: #fff;
    width:100%;
    text-align: center;
    margin:auto;
    padding-top:30px;
    padding-bottom:30px;
  }
  
  .lead-container .img_title{
    width: 50%;
    display: block;
    margin: auto;
  }
  
  .lead-container h2 p {
    font-size: 40px;
    font-weight: 600;
    margin: 16px 0;
    letter-spacing: 0.08em;
  }
  .lead-container .lead_text1 ,.lead-container .lead_text2 ,.lead-container .lead_text3 {
    font-size: 48px;
    font-weight: 600;
    letter-spacing: 0.04em;
  }
  .lead-container .lead_text4 {
    font-size: 40px;
    font-weight: 600;
  }
  .lead-container .lead_text5 {
    font-size: 16px;
    font-weight: 600;
    line-height: 2.1;
  }

@media screen and (max-width: 768px){
  .lead-container{
  width:100%;
  max-width:343px;
  }
  .lead-container .img_title{
    width: 100%;
    min-width: inherit;
    margin-bottom: 40px;
  }
  
  .lead-container h2 p, .lead-container .lead_text4{
    font-size: 2.5rem;
    font-weight: 600;
    margin: 16px 0;
    letter-spacing: 0em;
    line-height: 1.4;
  }
   .lead-container .lead_text5 {
    margin: 24px 0;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.06em;
  }
}

/*intro-container*/
section.intro-container{
  background-color: #FFF5F7;
  background-image: url("../images/img_bg01.png"),url("../images/img_bg03.png");
  background-repeat: no-repeat;
  background-position: center top,right bottom;
  background-size: 100%,600px;
  width:100%;
  text-align: center;
  margin:auto;
  padding: 64px 0;
}

section.intro-container h3{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 16px 0;
  background-image: url("../images/img_02.png");
  background-repeat: no-repeat;
  background-position: center;
  font-size: 24px;
  font-weight: 500;
  padding:24px 16px;
  letter-spacing: .2em;
}

section.intro-container .list_box {
  padding: 8px 0 64px;
}

section.intro-container ul {
  display: flex;
  flex-wrap:wrap;
  justify-content: center;
}

section.intro-container li {
	width: 25%;
	padding:16px;
	box-sizing:border-box;
}
section.intro-container .spacer {
  width: 100%;
}
/* section.intro-container li {
	width: calc(100%/4);
	padding:16px;
	box-sizing:border-box;
} */

section.intro-container li img {
	max-width:80%;
	height: auto;
}

section.intro-container .list_box a{
  position:relative;
	top:0;
  display: inline-block;
  background-color: #fff;
  border: 1px solid #B5B5B6;
  outline: none;
  /*アニメーションの設定*/  
  transition: all .3s;
}

section.intro-container .list_box a:hover {
  transform: translate(-2px,-2px);
  box-shadow: 2px 2px 0px 0px rgba(181, 181, 182, 1);
  opacity: 1;
} 

section.intro-container .text_box {
  position: relative;
  width: 920px;
	display: inline-block;
	max-width: 100%;
	padding: 64px 32px 32px;
  margin-bottom: 64px;
	text-align: left;
  background: #fff;
  background-image: linear-gradient(to right, #3E3A39 2px, transparent 2px), linear-gradient(to bottom, #3E3A39 2px, transparent 2px), linear-gradient(to left, #3E3A39 2px, transparent 2px), linear-gradient(to top, #3E3A39 2px, transparent 2px);
    background-size: 8px 2px, 2px 8px, 8px 2px, 2px 8px;
    background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
    background-position: left top, right bottom, right bottom, left top;
  border-radius : 10px;  
}

section.intro-container h4.intro_label {
	padding: .4em;
	position: absolute; 
	top: -1em;
	left: 50%;
	transform: translateX(-50%)  translateY(-10%);
	white-space: nowrap;
  font-size: 28px;
  font-weight: 600;
}
section.intro-container h4.intro_label::before {
    position: absolute;
    z-index: -1;
    left: 0;
    bottom: 40%;
    width: 100%;
    height: 5px;
    background-color: #fff;
    content: '';
  }
.my-parts > :last-child {
	margin-bottom: 0;
}

section.intro-container h4 .intro_text1{
  font-size: 28px;
  font-weight: 600;
  color: #E85298;
}
section.intro-container .intro_text {
    font-size: 16px;
    font-weight: 600;
    margin: 16px 0;
    letter-spacing: 0.05em;
    line-height: 1.8;
    text-align:center;
}

  @media screen and (min-width:769px) and ( max-width:1187px) {
    section.intro-container{
      background-image: url("../images/img_bg01.png");
      background-size: 100% auto;
      background-repeat: no-repeat;
      width:100%;
      text-align: center;
      margin:auto;
      padding-top:30px;
      padding-bottom:30px;
  }
  }
  
  @media screen and (max-width: 768px){
    section.intro-container{
      background-image: url("../images/img_bg01_sp.png");
      background-repeat: no-repeat;
      background-position: center top;
      background-size: 100%,100%;
      width:100%;
      text-align: center;
      margin:auto;
      padding:30px 0 0px;
    }

    section.intro-container h3{
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      margin: 64px auto 32px;
      background-image: url("../images/img_02_sp.png");
      background-size: 342px 40px;
      background-repeat: no-repeat;
      background-position: center;
      font-size: 24px;
      font-weight: 600;
      padding:16px;
    }
  
    section.intro-container .list_box{
      background-image: url("../images/img_bg03_sp.png");
      background-repeat: no-repeat;
      background-position: center bottom;
      background-size: 100%,100%;
      width:100%;
      text-align: center;
      margin:auto;
      padding:30px 0 80px;
    }

    section.intro-container ul {
      display: flex;
      flex-wrap:wrap;
      justify-content: flex-start;
    }
    section.intro-container .spacer {
      width: 0%;
    }
    section.intro-container li {
      width: calc(100%/2);
      padding:8px;
      box-sizing:border-box;
    }
  section.intro-container h4.intro_label {
      padding: .4em;
      position: absolute; 
      top: -1em;
      left: 50%;
      transform: translateX(-50%)  translateY(-10%);
      white-space: nowrap;
      font-size: 28px;
      font-weight: 600;
      text-align: center;
    }
    section.intro-container h4.intro_label::before {
        position: absolute;
        z-index: -1;
        left: 0;
        bottom: 60%;
        width: 100%;
        height: 5px;
        background-color: #fff;
        content: '';
      }
    
    section.intro-container .intro_text {
      text-align:left;
    }
  }


/*howtouse-container*/
section.howtouse-container{
  max-width:920px;
  text-align:center;
  margin:60px auto;
  background: #fff;
  width:100%;
  margin:auto;
  padding-top:30px;
  padding-bottom:30px;
}

section.howtouse-container .img_title{
  width: 20%;
  display: block;
  margin: auto;
}

section.howtouse-container h4 {
  font-size: 24px;
  font-weight: 600;
  margin: 16px 0;
  letter-spacing: 0.04em;
}

section.howtouse-container h4 .howto_text1 {
  font-size: 28px;
  font-weight: 600;
  color: #E85298;
}
section.howtouse-container h4 .howto_text2 {
  font-size: 24px;
  font-weight: 600;
  color: #E85298;
}

section.howtouse-container ul {
  display: flex;
  flex-wrap:wrap;
}

section.howtouse-container li {
	width: calc(100%/3);
	padding:16px;
	box-sizing:border-box;
}
section.howtouse-container li img.num {
	max-width:100%;
	height: auto;
}

section.howtouse-container .step_contents{
  display: flex;
}
section.howtouse-container .step_contents p{
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .04em;
  line-height:1.4;
  margin: auto;
}

section.howtouse-container .step_contents img {
	max-width:120px;
	height: auto;
}

section.howtouse-container .text_box {
  width: 920px;
	max-width: 100%;
	padding: 32px 64px;
  margin: 32px 0 64px;
	text-align: left;
  background: #fff;
  background-image: linear-gradient(to right, #3E3A39 2px, transparent 2px), linear-gradient(to bottom, #3E3A39 2px, transparent 2px), linear-gradient(to left, #3E3A39 2px, transparent 2px), linear-gradient(to top, #3E3A39 2px, transparent 2px);
    background-size: 8px 2px, 2px 8px, 8px 2px, 2px 8px;
    background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
    background-position: left top, right bottom, right bottom, left top;
  border-radius : 10px;  
  display: flex;
}

section.howtouse-container .text_box .right {
  margin: 0 0 0 20px;
  padding: 0;
}
section.howtouse-container .text_box .title {
  margin: 0;
  padding: 0;
  font-weight: 600;
  font-size: 24px;
}
section.howtouse-container .text_box .text {
  margin: 10px 0 0;
  padding: 0;
  font-size: 16px;
  font-weight: 500;
}

@media screen and (max-width: 768px){
section.howtouse-container li{
	width: calc(100%/1);
	padding:16px;
	box-sizing:border-box;
}
section.howtouse-container .img_title{
  width: 70%;
  min-width: inherit;
}
section.howtouse-container .text_box  {
  display: flex;
  flex-direction:column-reverse;
  padding: 16px;
}
section.howtouse-container .image{
  margin: 24px auto;
 width:40%;
}
section.howtouse-container .text_box .title {
  margin: 0;
  padding: 0;
  font-weight: 600;
  font-size: 24px;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
} 

/*detail-container*/
section.detail-container{
  display: relative;
  background: #FFF5F7 url("../images/img_bg01.png"); 
  transform: scale(-1, 1);
  background-size: 100% auto;
  background-repeat: no-repeat;
  width:100%;
  text-align: center;
  margin:auto;
  padding: 64px 0 0;
}

section.detail-container .contents{
  transform: scale(-1, 1);
  text-align:center;
  margin:auto;
}

section.detail-container h3{
  display: flex;
  transform: scale(-1, 1);
  justify-content: center;
  align-items: center;
  text-align: center;
  background: url("../images/img_02.png");
  background-repeat: no-repeat;
  background-position: center 64px;
  font-size: 24px;
  font-weight: 500;
  padding:66px 0 24px;
  letter-spacing: .2em;
}

section.detail-container .wrap1{
  transform: scale(-1, 1);
  background: #FFF5F7;
  padding: 32px 0 8px;
}

section.detail-container .ro1{
  padding: 8px 0 60px;
  position: relative;
  width: 920px;
  height: auto;
  margin:auto;
  text-align: center;
}

section.detail-container .ro1_cap{
    position: relative;
    transform: translateY(0%) translateX(42%);
    width: 648px;
    height: 100%;
    padding: 0px;
    top: 0;
    }

  section.detail-container .ro1_img{
    position: absolute;
    transform: translateY(0%) translateX(0%);
    width: 320px;
    height: 400px;
    top: 0;
    pointer-events: none;
    z-index: 1;
    }
section.detail-container .ro1 .box_shadow {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  width: 320px;
  height: 400px;
  box-shadow: 4px 4px 0px 0px rgba(230, 230, 230, 1);
}

section.detail-container .wrap2{
  transform: scale(-1, 1);
  background: #F5F5F5;
  padding: 32px 0 8px;
}

section.detail-container .ro2{
  padding: 8px 0 60px;
  position: relative;
  width: 920px;
  margin: auto;
  height: auto;
  text-align: center;
}

section.detail-container .ro2_cap{
    position: relative;
    transform: translateY(0%) translateX(0%);
    width: 648px;
    height: 100%;
    top: 0;
    padding: 0px;
  }
.ro2_img{
   position: absolute;
   z-index: 1;
   transform: translateY(0%) translateX(188%);
   width: 320px;
   height: 400px;
   top: 0;
   pointer-events: none;
  }

section.detail-container .ro2 .box_shadow {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  width: 320px;
  height: 400px;
  box-shadow: -4px 4px 0px 0px rgba(230, 230, 230, 1);
}

section.detail-container .ro1_cap .caption_box{
  width: 648px;
	max-width: 100%;
	padding: 32px 24px 32px 80px;
  margin: 32px 0 32px;
	position: relative;
	text-align: left;
  background: #fff;
  background-image: linear-gradient(to right, #949495 2px, transparent 2px), linear-gradient(to bottom, #949495 2px, transparent 2px), linear-gradient(to left, #949495 2px, transparent 2px), linear-gradient(to top, #949495 2px, transparent 2px);
    background-size: 8px 2px, 2px 8px, 8px 2px, 2px 8px;
    background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
    background-position: left top, right bottom, right bottom, left top;
  border-radius : 10px;  
}
section.detail-container .ro2_cap .caption_box{
  width: 648px;
	max-width: 100%;
	padding: 32px 80px 32px 24px;
  margin: 32px 0 32px;
	position: relative;
	text-align: left;
  background: #fff;
  background-image: linear-gradient(to right, #949495 2px, transparent 2px), linear-gradient(to bottom, #949495 2px, transparent 2px), linear-gradient(to left, #949495 2px, transparent 2px), linear-gradient(to top, #949495 2px, transparent 2px);
    background-size: 8px 2px, 2px 8px, 8px 2px, 2px 8px;
    background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
    background-position: left top, right bottom, right bottom, left top;
  border-radius : 10px;  
}
a.btn1 {
	display: block;
  position: relative;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 248px;
  height: 40px;
	margin: 24px 0 0;
	padding: 0.3rem 1rem;
	font-weight: 500;
  font-size: 18px;
	border: 2px solid #E72410;
	background: #E72410;
	color: #fff;
	border-radius: 100vh;
	transition: 0.5s;
}
a.btn1:hover {
  opacity: 0.5;
} 

a.btn1::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 5px solid transparent;
	border-left: 8px solid #fff;
}

section.detail-container .caption_box dl.caption_top {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

section.detail-container .caption_box dl.caption_top dt{
border-left:4px solid #E85298; /*線の設定*/
padding:0px 8px; /*余白の設定*/
width: 30%;
margin-bottom: 8px;
font-size: 20px;
font-weight: 600;
}
section.detail-container .caption_box dl.caption_top dd {
  width: 70%;
  font-size: 20px;
}

section.detail-container .caption_box .caption_top dt:first-child{
  font-size: 20px;
  font-weight: 600;
}
section.detail-container .caption_box .caption_top dd:first-child{
  font-size: 20px;
  font-weight: 400;
}

section.detail-container .caption_box dl.caption_bottom {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 32px 0;
}
section.detail-container .dl_gr1 {
  display: flex;
  flex-wrap: wrap;
  width: 64%;
}
section.detail-container .dl_gr2 {
  display: flex;
  flex-wrap: wrap;
  width: 36%;
}

  section.detail-container dl.caption_bottom .dl_gr1 dt{
    border-left:4px solid #E85298;
    padding:0px 8px;
    width: 30%;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 500;
    }
  section.detail-container dl.caption_bottom .dl_gr1 dd {
      width: 70%;
      letter-spacing: 0em;
    }
  section.detail-container dl.caption_bottom .dl_gr2 dt{
        border-left:4px solid #E85298; /*線の設定*/
        padding:0px 8px; /*余白の設定*/
        width: 42%;
        margin-bottom: 8px;
        font-size: 16px;
        font-weight: 600;
        }
  section.detail-container dl.caption_bottom .dl_gr2 dd {
          width: 58%;
          letter-spacing: 0em;
  } 
    }

section.detail-container .caption_box p.main_text,section.detail-container .caption_box p.more_text{
  letter-spacing: .08em;
  line-height: 1.4;
  margin: 16px 0; 
}

section.detail-container .text_area{
  position: relative;
  padding: 16px 0;
}
section.detail-container .caption_box .text_area p.cap_toggle{
  letter-spacing: .0em;
  cursor: pointer;
}

section.detail-container .caption_box p.cap_toggle::before {
  content: "…";
  font-weight: 500;
  position: relative;
  left:0;
  top:0;
}

section.detail-container .caption_box p.cap_toggle.open::before {
  content: "";
}

section.detail-container .caption_box p.cap_toggle::after {
  content: "続きを読む";
  font-weight: 600;
  position: absolute;
  right:0;
  bottom:0;
  text-align: right;
}
section.detail-container .caption_box p.cap_toggle.open::after {
  content: "閉じる";
  font-weight: 600;
}

@media screen and (max-width: 768px){
  section.detail-container{
    display: relative;
    background: #FFF5F7 url("../images/img_bg01_sp.png"); 
    transform: scale(-1, 1);
    background-size: 100% auto;
    background-repeat: no-repeat;
    width:100%;
    text-align: center;
    margin:auto;
    padding: 64px 0 0;
  }

  section.detail-container h3{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 64px auto 32px;
  background-image: url("../images/img_02_sp.png");
  background-size: 342px 40px;
  background-repeat: no-repeat;
  background-position: center;
  font-size: 24px;
  font-weight: 600;
  padding:16px;
}

section.detail-container .ro1{
  padding: 8px 0 0;
  position: relative;
  margin:auto;
  text-align: center;
  width: 320px;
  /* height: auto; */
}

section.detail-container .ro1_cap{
    position: relative;
    transform: translateY(0%) translateX(0%);
    width: 100%;
    height: 100%;
    padding: 0px;
    top: 0;
    }
section.detail-container .ro1_img{
    position: absolute;
    transform: translateY(0%) translateX(0%);
    width: 320px;
    height: 400px;
    top: 0;
    /* left: 10px; */
    pointer-events: none;
    }

section.detail-container .ro1 .box_shadow {
  box-shadow: 0px 8px 0px 0px rgba(230, 230, 230, 1);
}

section.detail-container .wrap1{
  transform: scale(-1, 1);
  background: #FFF5F7;
  padding: 32px 0 8px;
  max-width: 100%;
  text-align: center;
  margin: auto;
}

section.detail-container .wrap2{
  transform: scale(-1, 1);
  background: #F5F5F5;
  padding: 32px 0 8px;
  max-width: 100%;
  text-align: center;
  margin: auto;
}

section.detail-container .ro2{
  padding: 8px 0 0;
  position: relative;
  text-align: center;
  width: 340px;
}

section.detail-container .ro2_cap{
    position: relative;
    transform: translateY(0%) translateX(0%);
    width: 340px;
    height: 100%;
    top: 0;
    padding: 0px;
  }
  section.detail-container .ro2_img{
   position: absolute;
   transform: translateY(0%) translateX(0%);
   width: 320px;
   height: 400px;
   top: 0;
   pointer-events: none;
   left: 10px;
  }

section.detail-container .ro2 .box_shadow {
  box-shadow: 0px 8px 0px 0px rgba(230, 230, 230, 1);
}

section.detail-container .ro1_cap .caption_box{
  width: 320px;
	max-width: 100%;
	padding: 32px 16px;
  margin: 416px auto 32px;
	position: relative;
	text-align: left;
  background: #fff;
  background-image: linear-gradient(to right, #949495 2px, transparent 2px), linear-gradient(to bottom, #949495 2px, transparent 2px), linear-gradient(to left, #949495 2px, transparent 2px), linear-gradient(to top, #949495 2px, transparent 2px);
    background-size: 8px 2px, 2px 8px, 8px 2px, 2px 8px;
    background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
    background-position: left top, right bottom, right bottom, left top;
  border-radius : 10px;  
}
section.detail-container .ro2_cap .caption_box{
  width: 320px;
	max-width: 100%;
	padding: 32px 16px;
  margin: 416px auto 32px;
	position: relative;
	text-align: left;
  background: #fff;
  background-image: linear-gradient(to right, #949495 2px, transparent 2px), linear-gradient(to bottom, #949495 2px, transparent 2px), linear-gradient(to left, #949495 2px, transparent 2px), linear-gradient(to top, #949495 2px, transparent 2px);
    background-size: 8px 2px, 2px 8px, 8px 2px, 2px 8px;
    background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
    background-position: left top, right bottom, right bottom, left top;
  border-radius : 10px;  
}
a.btn1 {
	display: block;
  position: relative;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 100%;
  height: 40px;
	margin: 24px 0 0;
	padding: 0.3rem 1rem;
	font-weight: 500;
  font-size: 18px;
	border: 2px solid #E72410;
	background: #E72410;
	color: #fff;
	border-radius: 100vh;
	transition: 0.5s;
}
a.btn1:hover {
  opacity: 0.5;
} 

a.btn1::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 5px solid transparent;
	border-left: 8px solid #fff;
}

section.detail-container .caption_box dl.caption_top {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

section.detail-container .caption_box dl.caption_top dt{
border-left:4px solid #E85298; /*線の設定*/
padding:0px 8px; /*余白の設定*/
width: 45%;
margin-bottom: 8px;
font-size: 18px;
font-weight: 600;
}
section.detail-container .caption_box dl.caption_top dd {
  width: 55%;
  font-size: 18px;
}

/* section.detail-container .caption_box .caption_top dt:first-child{
  font-size: 18px;
  font-weight: 600;
} */

section.detail-container .caption_box dl.caption_bottom {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 32px 0;
}
section.detail-container .caption_box dl.caption_bottom .dl_gr1 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
section.detail-container .caption_box dl.caption_bottom .dl_gr2 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
section.detail-container .caption_box dl.caption_bottom dt{
  border-left:4px solid #E85298; /*線の設定*/
  padding:0px 8px; /*余白の設定*/
  width: 35%;
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 600;
  }
  section.detail-container .caption_box dl.caption_bottom dd {
    width: 65%;
    letter-spacing: 0em;
  }

section.detail-container .caption_box p.main_text,section.detail-container .caption_box p.more_text{
  letter-spacing: .08em;
  line-height: 1.4;
  margin: 16px 0; 
}

section.detail-container .caption_box p.cap_toggle::before {
  content: "…";
  font-weight: 500;
  position: relative;
  left:0;
  top:0;
}

section.detail-container .caption_box p.cap_toggle.open::before {
  content: "";
}

section.detail-container .text_area{
  position: relative;
  padding-bottom: 16px;
}
section.detail-container .caption_box .text_area p.cap_toggle{
  letter-spacing: .0em;
  cursor: pointer;
}

section.detail-container .caption_box p.cap_toggle::after {
  content: "続きを読む";
  font-weight: 600;
  position: absolute;
  right: 0;
  bottom; 0;
  text-align: right;
}
section.detail-container .caption_box p.cap_toggle.open::after {
  content: "閉じる";
  font-weight: 600;
}
}


/* note-conteiner */
section.note-container .inner{
  text-align: left;
  }
section.note-container dl{
  padding: 32px 0;
}
section.note-container dt{
font-weight: 600;
border-bottom: 1px solid #3E3A39;
width: 920px;
padding-bottom: 8px;
}
section.note-container .text_box{
  padding: 20px 0;
}
section.note-container dd{
  font-size: 14px;
  padding:2px;
  text-indent: -1.5em;
  padding-left: 1.5em;
}
section.note-container dd::before{
  content:  "";
  width: 6px;
  height: 6px;
  display: inline-block;
  background-color: #E85298;
  border-radius: 50%;
  margin-right: 16px;
  margin-bottom: 2px;
}

@media screen and (max-width: 768px){
section.note-container .inner{
  text-align: left;
  }
section.note-container dt{
      font-weight: 600;
      border-bottom: 1px solid #3E3A39;
      width: 340px;
      padding-bottom: 8px;
      }

section.note-container dd{
  font-size: 14px;
  padding:2px;
  text-indent: -1.5em;
  padding-left: 1.5em;
  }
}

/* casie-container */
section.provider-container .wrap{
  border: 8px solid #FCF1ED;
	width: 100%;
	height: 100%;
  padding:24px;
}
section.provider-container .contents{
  display: flex;
  text-align: left;
}
section.provider-container .text_title{
  display: flex;
}
section.provider-container .left{
  margin: 0 24px 24px 0;
  padding: 0;
  width: 100%;
}
section.provider-container h3{
  font-size: 24px;
  font-weight: 600;
  margin: 0 16px 24px 0;
}
section.provider-container a{
margin-top: 8px;
}
section.provider-container p{
 font-size: 14px;
  letter-spacing: .04em;
  line-height: 1.6;
} 

section.provider-container .provider_img{
  max-width:100%;
  height: auto;
}

@media screen and (max-width: 768px){
  section.provider-container .contents{
    display: flex;
    flex-direction: column;
    text-align: left;
  }
  section.provider-container .text_title{
    display: flex;
    margin-bottom: 24px;
    flex-direction: column;
  }
  section.provider-container .provider_img{
    width:480px;
    height: auto;
  }
  section.provider-container h3{
    margin: 0;
  }
}


/*ここまでーー追加したいcss記載していく*/
/*header*/
.header{
  text-align: center;
}
.header h1{
    display: flex;
    width: 50%;
    justify-content: center;
    align-items: center;
    margin: auto;
    padding: 15px 0;
}
.header h1 img.logo{
    height: 50px;
    width: auto;
}
.header h1 img.batsu{
    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0 40px;
}

@media screen and (max-width: 768px){
  .header h1{
    width: 90%;
  }
  .header h1 img.batsu{
    width: 15px;
    height: 15px;
    margin: 0 10px;
  }
	.header img{
	 	width: 100%;
		padding-top:0px;
		padding-bottom:0px;
	}
  .header h1 img.logo{
    height: auto;
    width: 100px;
  }
}


/* 右肩下がり */
.section_tilt_l {
      clip-path: polygon(0 0, 100% 39%, 100% 100%, 0 calc(100% - 39%));
}

/*footer*/
.footer{
	text-align: center;
	margin: 40px auto 100px;
	font-size: 14px;
}
.footer .logo_alice{
	display: block;
    width: 200px;
    margin: auto;
}
.footer .logo_alice img{
    width: 200px;
}
.footer .link{
	margin: 20px auto;
    width: 300px;
    align-items: center;
    justify-content: space-evenly;
}
.footer .info{
margin: 20px auto;
    width: 400px;
    align-items: center;
    justify-content: space-evenly;
}
@media screen and (max-width: 768px){
.footer .info{
width:100%;
}
}

/*annoation-container*/
.annoation-container{
	width: 80%;
    background: #f5f5f5;
    padding: 30px;
    text-align: left;
    margin: 30px auto;
}
@media screen and (max-width: 768px){
	.annoation-container{
			width: 90%;
	}
}


