@charset 'utf-8';


.h1_wrap { position:relative; }
.h1_wrap .line { display:none; }

/*フッター*/
.footer_link a.f_field:visited {text-decoration:underline;}
.footer_link a.f_field:link {text-decoration:underline;}

@media screen and (min-width: 840px) {
  .h1_wrap .line { display:none; }

}
h1:before {
  background-color: #C25B8E; /*下線の色*/
}


@media screen and (max-width: 840px) {
h2.ryumin{
  width:100%; 
  font-family: "a-otf-ryumin-pr6n", serif;
	font-weight: 300;
	font-style: normal;
	font-size:20px;
  margin-bottom:50px;
  line-height:1.7em;
  letter-spacing: 0.1em;
  text-align:center;
}
}

@media screen and (min-width: 840px) {
  h2.ryumin{
    width:100%; 
    font-family: "a-otf-ryumin-pr6n", serif;
    font-weight: 300;
    font-style: normal;
    font-size:23px;
    margin-bottom:30px;
    line-height:53px;
    letter-spacing: 0.1em;
    text-align:left;
  }
}
h2:before {
  content:none;
  position: absolute;
  left: 20px;
  bottom: -30px; /*下線の上下位置調整*/
  display: inline-block;
  width: 34px; /*下線の幅*/
  height: 3px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #C25B8E; /*下線の色*/
}

#main { position:relative; overflow:hidden; }
#main .contents { width:70%; margin:0 auto 0px auto; display:flex;flex-wrap:wrap; }
.lead { font-size:1.5rem; font-family:"Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "小塚明朝 Pro EL", "Kozuka Mincho Pro", Century, "Times New Roman", Times, "ＭＳ 明朝", serif;}
#main .contents { width:90%; margin:0 auto; text-align:center;  position:relative; padding:30px 0px 0px 0px; display:flex; }

#main .main_in { width:90%; display:flex; margin:0 5% 30px 5%; flex-wrap:wrap; }
@media screen and (min-width: 840px) {
  #main .contents { width:70%; margin:0 auto 50px auto; text-align:center;  position:relative; padding:30px 0px 0px 0px; display:flex; }
  #main .main_in { width:100%; margin:0; justify-content: space-between;}
}

#main .main_in_right { width:100%; margin-top:20px; }
#main .main_in_right img { width:100%;}
@media screen and (min-width: 840px) {
  #main .main_in_right { width:43%; text-align:left; }
  .marginleft { width:80%; margin:50px 0 0 20%; }
  #main .main_in_right img.medium { width:70%; margin-top:50px; padding:0;}
}

#main .main_in_right p { width:100%; display:inline-block; font-size:1.6rem; }


.main_in_left { width:100%; margin:0 0 0 0%; }
.main_in_left strong { width:100%; line-height:1.7em; display:inline-block; font-weight:bold; font-size:2rem; letter-spacing: 0.1em; line-height:2em; margin-bottom:30px; }
.main_in_left img { width:100%; }
.line_color { display:none;}
@media screen and (min-width: 840px) {
  .line_color { width:200px; position:absolute; top:35%; left:0; z-index:5;}
  .main_in_left { width:42%; margin:0 0 0 15%; }
  .main_in_left strong { margin-bottom:70px;}
  .main_in_left img { width:70%; }
  .main_in_left p { font-size:14px; line-height:2em; }
  .main_in_left p.mincho { font-size:15px;}
  .line_color { width:300px; position:absolute; top:25%; left:0; z-index:5; display:block; }
}


.contents_in { width:100%; display:block; margin-bottom:50px; }
.contents_in div { width:100%; display:block; }
@media screen and (min-width: 840px) {
.contents_in { max-width:1080px; display:flex; justify-content: space-between; margin-bottom:100px; }
.contents_in div.left { width:50%; display:flex; flex-wrap:wrap;  }
.contents_in div { width:60%; display:flex; flex-wrap:wrap;  }
.contents_in div.photo_left { width:55%; }
.contents_in div.photo_right { width:40%; }
.contents_in div.photo_right img { width:100%; height:100%; }
.contents_in div ul.redo { display:flex; list-style:none; }
.contents_in div ul.redo img { width:190px; }
.contents_in div ul.redo li { margin-right:20px; }
.contents_in div ul.redo li p { margin-bottom:30px; font-size:14px; }
}

.contents_in div img { width:100%; }
.contents_in div h3 { width:100%;  font-size:2rem; position: relative; margin-bottom:50px; }
@media screen and (min-width: 840px) {
  .contents_in div h3 { font-size:2.5rem; margin-bottom:20px; }
  .contents_in div img { width:500px; }
  .contents_in div img.img_jirei { width:500px; }
}

.contents_in div h3:before {
  content: '';
  position: absolute;
  left: 20px;
  top: 50px; /*下線の上下位置調整*/
  display: inline-block;
  width: 34px; /*下線の幅*/
  height: 3px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #C25B8E; /*下線の色*/
}

.contents_in div ul  { width:90%; list-style: square; text-align: left; margin-left:0px; margin:0 5% 15px 5%; }
.contents_in div ul li.contact { width:100%; margin-top:50px; list-style:none; text-align:center; margin:20px 0 50px 0px}
.contents_in div ul li.contact .button { margin-left:0; }
.contents_in div ul li { line-height:1.8em; margin-bottom:0px; }
.contents_in:nth-child(2n) { flex-direction: row-reverse;/* 偶数番目 */ }

.button { width:80%; height:50px; font-size:1.4rem; line-height:50px; background:#000; color:#fff; display:inline-block; border-radius:5px; text-align: center; margin:0 0 0 2.5%; }
.button_sp { display:block; width:80%; height:50px; line-height:50px; margin:20px auto 50px auto; background:#000; color:#fff; font-size:1.4rem; 
border-radius:5px; text-align: center;  }
.button_sp:link { text-decoration:none; color:#fff;}
.button_sp:visited { text-decoration:none; color:#fff;}
.contents_in div img.gaibulink { width:15px; }
.button_arrow {width:5px; }
@media screen and (min-width: 840px) {
.button { width:230px; height:50px; line-height:50px; background:#000; color:#fff; display:block; border-radius:5px; text-align: center;} 
.contents_in div ul  { width:100%; list-style: square; text-align: left; margin-left:20px; }
.button_sp { display:none; }
.contents_in div ul li.contact { margin-left:-20px; }

}
.button:hover { opacity:0.7; }
.button:link { text-decoration:none; }
.button:visited { text-decoration:none; }

.graybox { position:relative; padding:0; }
.contents_in div ul.redo { width:100%; list-style:none; margin:0; padding:0; font-size:16px; }
.contents_in div ul.redo img.image_redo {width:200px;}
.contents_in div img.image_redo { width:40%; margin-bottom:20px; }
.contents_in div ul.redo .button { display:none; }
.graybox {width:100%;}
@media screen and (min-width: 840px) {
  .contents_in div img.image_redo { width:200px; }  
  .graybox {width:100%; padding:50px 0 ;margin-top:50px; }
  .contents_in div ul.redo .button { margin:30px 0; display:block; }
}
@keyframes left-to-right-anim {
  0% {left: -10%;}
  100% {left: 100%;}
}
@keyframes top-to-bottom-anim {
  0% {top: -20%;}
  100% {top: 120%;}
}

/*PC右側の斜め線*/
/* #main .border_right {position: absolute;width: 250px;height:250px;overflow: hidden;right:-7%;bottom:40%; z-index:2;transform:rotate(135deg); }
#main .border_right2 {position: absolute; width: 292px;height:292px;overflow: hidden;right:-2%;bottom:40%; z-index:1;transform:rotate(135deg); }

.arrow {position: absolute;border-left: 50px solid #808080;}
.arrow::before {content: "";position: absolute;bottom: 15px;left: -50px;width: 300px; height:8px;background: #808080;transform-origin: left center;transform: rotate(-180deg);}
.left-to-right {bottom: 20%;border-left-color: #000;transform: rotate(0);animation: left-to-right-anim 3s linear forwards;}
.left-to-right::before {background: #000;}
.left-to-right.red {bottom: 20%;border-left-color: #FCA528;transform: rotate(0);animation: left-to-right-anim 3s linear forwards;}
.left-to-right.red::before {background: #FCA528;} */

.contents_in div.div_taishin { width:100%; display:block; border-top:solid 1px #707070; margin:0 0 0 0%; padding:15px 15px ;}
.contents_in div.div_taishin strong { width:100%; font-size:18px; font-weight:bold; display:inline-block; text-align:left; margin-bottom:10px; }
.contents_in div.div_taishin p { font-size:14px; text-align:left; }
@media screen and (min-width: 840px) {
.contents_in div.div_taishin_wrap { width:100%; display:flex; justify-content: space-between; align-items: flex-start;}  
.contents_in div.div_taishin { width:47%; display:flex; border-top:solid 1px #707070; margin:0; padding:30px 0px ;}
.contents_in div.div_taishin strong { width:100%; font-size:18px; line-height:1.7em; font-weight:bold; display:inline-block; text-align:left; }
.contents_in div.div_taishin p { font-size:14px; text-align:left; }
}


.mark_wrap { display:none; }
@media screen and (min-width: 840px) {
.mark_wrap { width:300px; position:absolute; left:-50px; top:550px; z-index:10; display:block; }
}