@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Zen+Old+Mincho:wght@400;700;900&display=swap');

/* すべて */
*{
  box-sizing: border-box;
}
body{
  margin: 0;
  font-family: 'Libre Baskerville','Zen Old Mincho', serif;
  text-align: center;
}
ul{
  margin: 0;
  padding:0;
}
li{
  list-style-type: none;
}
a{
  text-decoration: none;
  color: inherit;
}
img{
  max-width: 100%;
  vertical-align: bottom;
  border:none;
}
h1,h2,h3,h4,h5,h6,p{
  margin:0;
}
.flex{
  display: flex;
}
.flex_center{
  justify-content: center;
}
.flex_between{
  justify-content: space-between;
}
.flex_end{
  justify-content: flex-end;
}
.flex_top{
  align-items: flex-start;
}
.flex_middle{
  align-items: center;
}
.flex_column{
  flex-direction: column;
}
.flex_wrap{
  flex-wrap: wrap;
}
.wrapper{
  overflow: hidden;
}

.scroll_down{
  position: fixed;
  top:50%;
  right: 40px;
  z-index: 6;
  font-size: 12px;
  transform: translateY(-50%);
  color: #fff;
  writing-mode: vertical-rl;
  flex-direction: row;
  align-items: center;
}
.scroll_arrow{
  margin-top:1em;
}
.scroll_arrow img{
  vertical-align: middle;
}
.totop{
  position: fixed;
  bottom:40px;
  right: 40px;
  z-index: 10;
}

/* すべてここまで */

/* ヘッダー */
header{
  position: fixed;
  z-index: 101;
  top:0;
  left: 0;
  width: 100%;
}
.header_container{
  width: 100%;
  max-width: 1920px;
  height: 58px;
  margin:0 auto;
}
.header_logo{
  display: flex;
  align-items: center;
  width: 110px;
  max-width: 12%;
  padding:0px 20px;
  background-color: #fff;
}
.header_right{
  position: relative;
  z-index: 9;
}
.header_contact{
  display: inline-block;
  width: 240px;
  height: 58px;
  text-align: center;
}
.header_contact a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #0F6195;
  color: #fff;
}
.menu_open .header_contact1{
  display: none;
}
.header_menu_btn{
  position: relative;
  padding: 18px;
  background-color: #313538;
  cursor: pointer;
}
.menu_open .header_menu_btn{
  background-color: transparent;
}
.header_menu_btn span{
  display: inline-block;
  width: 36px;
  height: 1px;
  background-color: #fff;
  transition: 600ms;
  transform-origin: center;
}
.menu_open .header_menu_btn span:nth-child(1){
  transform: rotate(45deg) translate(6px,9px);
}
.menu_open .header_menu_btn span:nth-child(2){
  opacity: 0;
}
.menu_open .header_menu_btn span:nth-child(3){
  transform: rotate(-45deg) translate(6px,-9px);
}
.header_menu_wrapper{
  position: absolute;
  top:0;
  right: 0;
  min-height: 100vh;
  background-color: #313538d8;
  color: #fff;
  padding:120px 80px 0 120px;
  transform: translateX(100%);
  transition: 300ms;
}
.menu_open .header_menu_wrapper{
  transform: translateX(0);
}
.header_menu{
  text-align: left;
}
.header_menu ul li{
  margin-bottom: 1.5em;
  font-size: 20px;
  line-height: 1em;
}
.header_menu ul li span{
  font-size: 14px;
}
.header_sns{
  margin-top:5em;
}
.header_sns ul li{
  width: 24px;
  margin-right: 3em;
}
.header_pp{
  margin-bottom:6em;
}
.header_copyright{
  font-family: 'Zen Old Mincho', serif;
}

/* ヘッダーここまで */

/* メイン */
.mv{
  position: relative;
  width: 100%;
}
.mv::before{
  content: "";
  position: fixed;
  z-index: -2;
  top:0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image: url("../img/img-top-1.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #313538;
}
.mv_logo{
  position: relative;
  z-index: 4;
  width: 142px;
  height: 1080px;
  min-height: 100vh;
  margin:0 auto;
}
.mv_text{
  max-width: 840px;
  margin:4em auto 0;
  padding-bottom:12em;
  color: #fff;
  text-shadow: 3px 3px 10px #707070;
}
.mv_text h2{
  font-size: 35px;
  margin-bottom:2em;
}
.mv_text p{
  margin-bottom:2em;
  font-size: 18px;
  line-height: 2.4em;
}

.ph_wrapper{
  position: relative;
  max-width: 100%;
  height: 700px;
  background-image: url("../img/img-top-2.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #fff;
}
.ph_container{
  position: absolute;
  bottom:0;
  left: 0;
  width: 100%;
  transform: translateY(35%);
}
.ph_inner{
  position: relative;
  align-items: flex-start;
  width: 1280px;
  max-width: 100%;
  margin:0 auto;
  padding:6em 2em;
  background-color: #fff;
}
.ph_inner::before{
  content: "";
  position: absolute;
  top:0;
  right: calc(100% - 1px);
  width: 50vw;
  height: 100%;
  background-color: #fff;
}
.ph_inner::after{
  content: "";
  position: absolute;
  top:0;
  left: calc(100% - 1px);
  width: 4em;
  height: 100%;
  background-color: #fff;
}
.section_title{
  position: absolute;
  bottom:100%;
  left: 0;
}
h3{
  font-size: 45px;
  line-height: 1em;
  transform: translateY(20%);
  color: #313538;
}
.ph_inner h3{
  color: #fff;
}
.ph_left{
  width: 420px;
  max-width: 36%;
  margin:0 5%;
}
.ph_left p{
  font-size: 18px;
  line-height: 2.1em;
  text-align: left;
}
.ph_right{
  position: relative;
  width: 520px;
  max-width: 44%;
  height: 180px;
  margin:0 5%;
  border:1px solid #707070;
}
.ph_right h6{
  display: inline-block;
  padding:0 0.8em;
  font-size: 35px;
  background-color: #fff;
  transform: translateY(-50%);
}
.ph_right ul{
  position: absolute;
  bottom:0;
  left: 0;
  justify-content: space-evenly;
  width: 100%;
  transform: translateY(50%);
}
.ph_right ul li{
  display: flex;
  justify-content: center;
  font-size: 20px;
  writing-mode: vertical-rl;
  height: 10.2em;
  padding:0 0.3em;
  border:1px solid #707070;
  background-color: #fff;
  box-shadow: 3px 3px 6px #00000033;
}
.service_wrapper{
  padding:21em 0 4em;
  background-color: #F0F0F0;
}
.service_container{
  position: relative;
  width: 1280px;
  max-width: 100%;
  margin:0 auto;
  padding:0 2em;
  background-color: #313538;
}
.service_container::before{
  content: "";
  position: absolute;
  top:0;
  right: calc(100% - 1px);
  width: 12em;
  height: 100%;
  background-color: #313538;
}
.service_container::after{
  content: "";
  position: absolute;
  top:0;
  left: calc(100% - 1px);
  width: 50vw;
  height: 100%;
  background-color: #313538;
}
.service_left{
  width: 28%;
  padding:6em 0;
  color:#fff;
  text-align: left;
}
.service_left ul{
  padding-left:1.2em;
  border-left: 1px solid #fff;
  font-size: 20px;
}
.service_left ul li{
  margin-bottom:1.2em;
}
.service_right{
  position: relative;
  width: 72%;
}
.service_right ul li{
  width: calc(100% * 256 / 1119);
}
.service_right ul li:nth-last-child(1){
  width: calc(100% * 567 / 1119);
}
.service_right ul li:nth-child(odd){
  margin-top:-40px;
}
.service_right ul li img{
  margin:10px 0;
}
.service_btn{
  position: absolute;
  bottom:-2em;
  left: 4.2em;
  width: calc(100% - 4.2em);
  color: #313538;
  text-align: left;
}
.service_btn::after{
  content: "";
  position: absolute;
  top:0;
  left: 0;
  width: 100vw;
  height: 100%;
  background-color: #707070;
  transform: translate(0.5em,0.5em);
}
.service_btn a{
  position:relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color:#fff;
  transition: 600ms;
  z-index: 3;
}
.service_btn a::after{
  content: "";
  position: absolute;
  top:0;
  left: calc(100% - 3px);
  width: 50vw;
  height: 100%;
  background-color: #fff;
  z-index: 4;
}
.service_btn a:hover{
  transform: translate(0.5em,0.5em);
}
.service_btn span{
  display: inline-block;
  padding:2.3em 0 2.3em 4.2em;
  font-size: 25px;
  font-weight: 900;
}
.service_arrow{
  position: absolute;
  left:0;
  top:50%;
  transform: translate(-50%,-50%);
  z-index: 4;
}
.service_arrow img{
  vertical-align: middle;
  transition: 600ms;
}
.service_btn a:hover .service_arrow img{
  transform: translateX(1em);
}
.sample_wrapper{
  position: relative;
  padding:12em 0 8em;
  background-color: #FFFFFF;
  box-shadow: 0px 3px 20px #70707029;
  z-index: 3;
}
.sample_container{
  position: relative;
  width: 1280px;
  max-width: 100%;
  margin:0 auto;
  padding:0 2em;
}
.sample_inner{
  width: 1120px;
  max-width: 100%;
  margin:0 auto;
  padding:20px 0;
}
.sample_header{
  margin:3em 0 1em;
  font-size: 14px;
  text-align: left;
  border-bottom:1px solid #707070;
}
.sample_header h5{
  font-weight: normal;
}
.sample_box{
  width: 530px;
  max-width: 46%;
  margin-bottom:3em;
}
.sample_box video{
  max-width: 100%;
}
.video_btn{
  cursor: pointer;
}
.sample_img{
  position: relative;
  overflow: hidden;
}
.sample_img::before{
  content: "";
  position: absolute;
  z-index: 5;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  transition: 500ms;
}
.sample_inner_img{
  position: absolute;
  z-index: 4;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: 1000ms;
}
.sample_box:hover .sample_img::before{
  opacity: 0.4;
}
.sample_box:hover .sample_inner_img{
  transform: scale(1.03);
  filter: blur(5px);
}
.sample_img span{
  position: absolute;
  z-index: 5;
  bottom:0.5em;
  left: 0.5em;
  padding:0.2em 0.8em;
  background-color: hsla(0, 0%, 100%, 0.8);
}
.sample_more{
  margin-top:1.6em;
}
.sample_more a{
  font-size: 14px;
}
.sample_arrow{
  transition: 600ms;
}
.sample_box:hover .sample_arrow{
  transform: translateX(0.5em);
}
.sample_arrow img{
  vertical-align: middle;
}
.sample_more span{
  margin-left:1em;
}
.modal_wrapper{
  position: fixed;
  top:0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  background-color: rgba(0,0,0,0.5);
}
.modal_container{
  position: relative;
  max-width: 1400px;
  padding:10px 60px;
}
.modal_container video{
  max-width: 100%;
  max-height: 90vh;
}
.modal_close {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 15px;
  display: inline-block;
  width: 35px;
  height: 35px;
  overflow: hidden;
  border: none;
  background: transparent;
  cursor: pointer;
}
.modal_close:before,.modal_close:after {
  content: '';
  position: absolute;
  height: 2px;
  width: 100%;
  top: 50%;
  left: 0;
  background: #fff;
  border-radius: 5px;
  margin-top: -6px;
}
.modal_close:before {
  transform: rotate(45deg);
}
.modal_close:after {
  transform: rotate(-45deg);
}
.contact_wrapper{
  position: relative;
  padding:16em 0;
  background-color: #fff;
}
.contact_wrapper::before{
  content: "";
  position: absolute;
  top:0;
  right: calc(50% + 334px);
  width: 50vw;
  height: 100%;
  background-color: #F0F0F0;
}
.contact_container{
  position: relative;
  width: 1120px;
  max-width: 100%;
  margin:0 auto;
}
.contact_inner{
  padding-top:2em;
}
.contact_left{
  width: 46%;
  text-align: left;
}
.contact_text{
  width: 400px;
  max-width: 96%;
  margin-top:3em;
  font-size: 18px;
  line-height: 2.4em;
  letter-spacing: 0.05em;
}
.contact_right{
  position: relative;
  width: 54%;
}
.contact_btn_wrapper .service_btn{
  bottom:auto;
  top:0;
}
.contact_btn_wrapper .service_btn a{
  position:relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color:#313538;
  transition: 600ms;
  z-index: 3;
}
.contact_btn_wrapper .service_btn a::after{
  content: "";
  position: absolute;
  top:0;
  left: calc(100% - 3px);
  width: 50vw;
  height: 100%;
  background-color: #313538;
  z-index: 4;
}
.contact_btn_wrapper .service_btn span{
  color: #fff;
}
.contact_btn_wrapper .service_btn::after{
  background-color: #fff;
  border: 1px solid #313538;
  box-sizing: border-box;
}


/* メインここまで */

/* フッター */
.footer_wrapper{
  padding:6em 0 3em;
  background-color: #313538;
  color: #fff;
}
.footer_container{
  width: 1000px;
  max-width: 100%;
  margin:0 auto;
  padding-bottom:1em;
  border-bottom:1px solid #FFF;
}
.footer_left{
  width: 15%;
}
.footer_logo{
  width: 82px;
  max-width: 60%;
  margin:0 auto;
}
.footer_sns ul li{
  width: 24px;
  max-width: 15%;
  margin:18% 10% 0;
}
.footer_center{
  display: flex;
  width: 50%;
  padding:0 5%;
}
.footer_center ul{
  margin:0 10%;
  text-align: left;
}
.footer_center ul li{
  margin-bottom:2em;
}
.footer_right{
  width: 35%;
}
.footer_address{
  text-align: left;
  line-height: 2em;
}
.footer_contact{
  width: 300px;
  max-width: 100%;
  margin-top:1.5em;
  font-weight: 900;
  background-color: #fff;
  color: #313538;
}
.footer_contact a{
  display: inline-block;
  width: 100%;
  height: 100%;
  padding:0.8em 0;
}
.copyright{
  margin-top:2em;
  font-size: 12px;
}

/* フッターここまで */





/* SERVICE */
#service{
  background-color: #F0F0F0;
}
.sv_mv{
  width: 100%;
  height: 480px;
  margin-bottom:-3em;
  background-image: url("../img/img-servie-1.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}
.sv_title{
  height: 100%;
}
.sv_title h1{
  font-size: 40px;
  color: #fff;
}
.sv_title h1 span{
  display: inline-block;
  margin-bottom:2em;
  font-weight: normal;
}
.sv_intro_container{
  position: relative;
  width: 1480px;
  max-width: 100%;
  margin: 0 auto;
  background-color: #fff;
  z-index: 6;
}
.sv_intro_container::before{
  content: "";
  position: absolute;
  top:0;
  right: calc(100% - 3px);
  width: 50vw;
  height: 100%;
  background-color: #fff;
}
.sv_intro_inner{
  width: 680px;
  max-width: 94%;
  margin:0 auto;
  padding:4em 20px;
}
.sv_intro_text{
  font-size: 18px;
  text-align: left;
  line-height: 2.3em;
}
.sv_intro_block{
  margin:3em auto;
}
.sv_intro_box{
  width: 300px;
  max-width: 45%;
  padding:0.6em 0;
  background-color: #F0F0F0;
}
.sv_intro_box p{
  font-size: 16px;
}
.sv_intro_box p span{
  margin-left: 0.5em;
  font-size: 1.5em;
  font-weight: 900;
}
.sv_intro_plus{
  position: relative;
  width: 20px;
  height: 20px;
  margin:0 1.4em;
}
.sv_intro_plus::before{
  content: "";
  position: absolute;
  top:0;
  left: 50%;
  width: 1px;
  height: 100%;
  background-color: #313538;
}
.sv_intro_plus::after{
  content: "";
  position: absolute;
  top:50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #313538;
}
.sv_intro_bottom{
  position: relative;
  margin-bottom:0.8em;
}
.sv_intro_bottom::before{
  content: "";
  position: absolute;
  top:50%;
  left: 0;
  width: 100%;
  height: 1px;
  border-top:1px dotted #313538;
}
.sv_intro_bottom span{
  position: relative;
  padding:0 1.6em;
  font-size: 20px;
  font-weight: 900;
  z-index: 2;
  background-color: #fff;
}
.sv_intro_inner>p{
  font-size: 12px;
}
.quality_wrapper{
  padding-bottom:4em;
}
.quality_bg{
  transform: translate(4%,-8%);
}
.quality_block{
  position: relative;
  width: 1200px;
  max-width: 100%;
  margin:-20em auto 0;
  background-color: #fff;
}
.quality_block::after{
  content: "";
  position: absolute;
  top:0;
  left: calc(100% - 3px);
  width: 50vw;
  height: 100%;
  background-color: #fff;
}
.quality_block h3{
  color: #fff;
  transform: translateY(0px);
}
.quality_inner{
  padding:6em 0
}
.quality_text{
  width: 65%;
  padding:0 8%;
  text-align: left;
}
.quality_text h4{
  margin-bottom:1.5em;
  font-size: 35px;
  font-weight: 900;
}
.quality_text p{
  font-size: 18px;
  line-height: 2.1em;
}
.quality_img{
  width: 35%;
  margin-right:2%;
}
.sv_service_wrapper{
  padding:5em 0 12em;
  background-color: #fff;
}
.sv_service_container{
  width: 1280px;
  max-width: 94%;
  margin:0 auto;
}
.sv_service_container h2{
  font-size: 35px;
  font-weight: 900;
}
.sv_service_block{
  margin-top:3em;
}
.sv_service_box{
  width: 30%;
  margin-bottom:6em;
  text-align: left;
}
.sv_service_cost{
  margin-top:1.5em;
}
.sv_service_img{
  position: relative;
}
.sv_service_img span{
  position: absolute;
  bottom:0;
  left: 0;
  padding:0.4em 1em 0.4em 0.4em;
  font-size: 20px;
  font-weight: 900;
  background-color: #fff;
}
.sv_service_text{
  padding:1.2em 0 0 2em;
}
.sv_service_text>p{
  font-size: 14px;
}
.logo_list{
  margin-top:0.6em;
  margin-bottom:-0.5em;
}
.logo_list li{
  width: 23%;
  margin:1%;
}
.sv_service_cost_inner{
  margin-top:0.2em;
  padding:0.6em 0;
  border-top:1px solid #989898;
  border-bottom:1px solid #989898;
}
.sv_service_cost_inner:nth-of-type(2){
  border-top:none;
}
.sv_service_cost>span{
  margin-bottom:0.2em;
}
.sv_service_cost span{
  font-size: 12px;
}
.sv_service_cost_inner span:nth-child(1){
  font-weight: bold;
}
.sv_service_bottom{
  margin-top:2em;
}
.sv_service_bottom_left{
  width: 50%;
  padding-left:10%;
  font-size: 16px;
  line-height: 2.1em;
  text-align: left;
}
.sv_service_bottom_right{
  position: relative;
  width: 50%;
}
.sv_service_bottom .service_btn{
  top:50%;
  left: 3em;
  width: 420px;
  max-width: 100%;
  transform: translateY(-50%);
}
.sv_service_bottom .service_btn::after{
  width: 100%;
}
.sv_service_bottom .service_btn span{
  padding: 1.4em 0 1.4em 6.4em;
  font-size: 20px;
}
.sv_service_bottom .service_btn a::after{
  display: none;
  visibility: hidden;
}
.schedule_wrapper{
  background-color: #4986BA;
}
.schedule_wrapper h3{
  color: #4986BA;
}
.schedule_container{
  position: relative;
  width: 1200px;
  max-width: 100%;
  margin:0 auto;
  padding:5em 0 4em;
  background-color: #4986BA;
  color: #fff;
}
.schedule_inner{
  width: 900px;
  max-width: 96%;
  margin:0 auto;
  text-align: left;
}
.schedule_text{
  margin-top:3em;
  font-size: 16px;
  line-height: 2.1em;
}
.schedule_text_left{
  width: 44%;
}
.schedule_text_right{
  width: 44%;
}


/* PRICE */
.pr_mv{
  width: 100%;
  height: 170px;
  background-image: url("../img/img-price.jpg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}
.price_wrapper{
  padding-bottom:8em;
}
.price_container{
  width: 800px;
  max-width: 94%;
  margin:0 auto;
}
.pr_mv h1{
  font-size: 20px;
  font-weight: normal;
  color: #fff;
}
table *{
  padding:15px 0;
  border-collapse: collapse;
}
.price_container{
  padding: 0;
}
.price_container h2{
  margin-top:3em;
  margin-bottom:0.8em;
  font-size: 25px;
}
.pr_table_container{
  margin-bottom:4em;
}
.price_container table{
  width: 100%;
  border-top:2px solid #313538;
  border-collapse: collapse;
  font-size: 14px;
  color: #313538;
}
.price_container table tr{
  border-bottom:1px solid #989898;
}
.table-1 th,.table-1 td{
  width: 25%;
}
.table-1 tr *:nth-child(2){
  background-color: rgba(240, 240, 240, 0.3);
}
.table-1 tr *:nth-child(3){
  background-color: rgba(240, 240, 240, 0.51);
}
.table-1 tr *:nth-child(4){
  background-color: #F0F0F0;
}
.table-1 td{
  font-size: 16px;
  font-weight: bold;
}
.table-1 td span{
  font-size: 18px;
}
.table-1 tr:nth-child(1) th:nth-child(2),.table-1 tr:nth-child(1) th:nth-child(3),.table-1 tr:nth-child(1) th:nth-child(4){
  font-size: 16px;
  font-weight: bold;
  color:#0F6195;
}
.table-2{
  text-align: left;
}
.table-2 tr>*{
  padding-left:1em;
  font-size: 16px;
}
.table-2 tr>*:nth-child(1){
  font-weight: bold;
  border-bottom:1px solid #fff;
}
.table-2 tr>*:nth-child(2){
  width: 45%;
  padding-right: 5%;
}
.table-2 tr>*:nth-child(3){
  width: 30%;
}
.table-2 tr .b_b{
  border-bottom:none;
}
.table-2 tr * span{
  font-size: 12px;
}
.pr_table_container>span{
  display: inline-block;
  width: 100%;
  padding:0.8em 1.2em;
  font-size: 12px;
  text-align: left;
}


/* about */
.ab_mv{
  width: 100%;
  height: 830px;
  background-image: url("../img/img-our.jpg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}
.ab_h1{
  width: 680px;
  max-width: 90%;
  color: #fff;
}
.ab_h1 h1{
  font-size: 35px;
  font-weight: 900;
}
.ab_h1 p{
  margin-top:3em;
  font-size: 18px;
  font-weight: 900;
  line-height: 2.4em;
}
.address{
  width: 680px;
  max-width: 100%;
  margin:0 auto;
  padding:6em 20px;
}
.ad_line{
  align-items: baseline;
  padding:1.6em 0;
  font-size: 18px;
  border-bottom:1px solid #989898;
}
.map{
  width: 100%;
  height: 720px;
}
.map iframe{
  width: 100%;
  height: 100%;
}


/* CONTACT */
.form_wrapper{
  padding:8em 0;
}
.form_container h1{
  font-size: 36px;
  font-weight: bold;
}
.form_container form{
  width: 720px;
  max-width: 94%;
  margin:3em auto 0;
  text-align: left;
}
.form_container form ul{
  width: 100%;
}
.form_container form ul li{
  display: flex;
  align-items: center;
  width: 100%;
  margin:1.5em auto;
}
.form_container form ul li:nth-last-of-type(1){
  align-items: flex-start;
}
.form_container form ul li label{
  position: relative;
  width: 24%;
  padding-right:2em;
  text-align: right;
}
.form_container form ul li.require label::after{
  content: "＊";
  position: absolute;
  top:50%;
  right: 0.5em;
  color: #DB682E;
  transform: translateY(-50%);
}
.form_container form ul li input{
  padding:0.4em;
  font-size: 16px;
}
.form_container form ul li input[type="checkbox"]{
  width: 1.4em;
  height: 1.4em;
  border-radius: 0;
  vertical-align: middle;
}
.form_container form ul li span{
  margin:0.8em 1.2em 0.8em 0.3em;
}
.form_container form input[type="submit"]{
  position: relative;
  width: 400px;
  max-width: 80%;
  margin:1em auto 0 24%;
  padding:0.8em 0;
  font-size: 22px;
  letter-spacing: 0.15em;
  color: #fff;
  background-color: #D2D2D2;
  border:none;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  z-index: -1;
}
.form_container form input[type="submit"].ok{
  background-color: #DB682E;
  z-index: 1;
}
.form_text{
  text-align: right;
}
.top_back_btn{
  margin-top:3em;
  text-align: center;
}
.top_back_btn a{
  display: inline-block;
  width: 400px;
  max-width: 90%;
  margin:0 auto;
  padding:0.8em 1em;
  font-size: 20px;
  color: #fff;
  background-color: #DB682E;
}

/* POLICY */
.policy_container{
  width: 1000px;
  max-width: 100%;
  margin:0 auto;
  padding:8em 20px 5em;
}
.policy_container h1{
  margin-bottom:3em;
  font-size: 25px;
  font-weight: 900;
}
.policy_block{
  margin:4em auto;
  text-align: left;
}
.policy_block h4{
  margin-bottom:1em;
  font-size: 18px;
  font-weight: 900;
  text-align: center;
}
.policy_block h5{
  margin-top:2em;
  margin-bottom:0.6em;
  font-size: 16px;
  font-weight: 900;
}
.policy_block p{
  line-height: 2em;
}
.policy_bottom{
  text-align: center;
}
.policy_bottom div{
  padding:2em 3em;
}






/* レスポンシブ */
@media screen and ( min-width:641px){
  .sp{
    display: none !important;
  }
}
@media screen and ( max-width:640px){
  .pc{
    display: none !important;
  }
  .sp_flex{
    display: flex;
  }
  .sp_column{
    flex-direction: column;
  }
  .header_container{
    height: auto;
  }
  .header_logo{
    max-width: 27vw;
    padding:0;
  }
  .header_contact{
    max-width: 20vw;
    height: auto;
    font-size: 3.2vw;
  }
  .header_menu_btn{
    padding:3.5vw;
  }
  .header_menu_btn span{
    width: 9vw;
  }
  .menu_open .header_menu_btn span:nth-child(1){
    transform: rotate(45deg) translate(1.4vw,1.2vw);
  }
  .menu_open .header_menu_btn span:nth-child(3){
    transform: rotate(-45deg) translate(1.4vw,-1.2vw);
  }
  .header_menu_wrapper{
    max-width: 74vw;
    padding:22vw 10vw 10vw 20vw;
  }
  .header_menu ul li{
    margin-bottom:1.2em;
    font-size: 4.2vw;
    line-height: 1.2em;
  }
  .header_menu ul li span{
    font-size: 2.6vw;
  }
  .header_contact.header_contact2{
    max-width: 90%;
  }
  .header_contact.header_contact2 a{
    padding:3vw 0;
    font-size: 3.6vw;
  }
  .header_sns{
    margin-top:10vw;
  }
  .header_pp{
    margin-top:3vw;
    margin-bottom:8vw;
    font-size: 2.6vw;
  }
  .header_copyright{
    font-size: 2vw;
    line-height: 2.4em;
  }

  .mv::before{
    background-image: url("../img/sp/img-top-1_sp.jpg");
  }
  .mv.hidden::before{
    background-image: none;
    opacity: 0;
  }
  .mv_logo{
    width: 23vw;
    max-height: 100vh;
  }
  .scroll_down{
    right: 5vw;
    font-size: 1.8vw;
  }
  .totop{
    bottom:5vw;
    right: 3vw;
    width: 10vw;
  }
  .mv_text{
    padding-bottom:10vw;
  }
  .mv_text h2{
    font-size: 5.4vw;
    line-height: 1.8em;
  }
  .mv_text p{
    font-size: 3.6vw;
    line-height: 2.1em;
    text-align: left;
  }
  .sp_inner{
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .ph_container{
    position: relative;
    bottom:auto;
    top:0;
    width: 94%;
    transform: none;
  }
  .section_title{
    left: 10vw;
  }
  h3{
    font-size: 8vw;
  }
  .ph_wrapper{
    height: auto;
    padding-top:35vw;
    background-image: url("../img/sp/img-top-2_sp.jpg");
    background-size: 100% auto;
    background-position: top center;
  }
  .ph_inner{
    padding:12vw 8vw 35vw;
  }
  .ph_inner::after{
    display: none;
  }
  .ph_left{
    width: 90%;
    max-width: 90%;
  }
  .ph_left p{
    font-size: 3.2vw;
    line-height: 1.9em;
  }
  .ph_right{
    width: 90%;
    height: 30vw;
    max-width: 90%;
    margin-top:15vw;
  }
  .ph_right h6{
    font-size: 5.4vw;
  }
  .ph_right ul li{
    font-size: 3.2vw;
  }
  .service_wrapper{
    padding:20vw 0;
  }
  .service_container{
    width: 94%;
    margin-left: 6%;
    padding:0 1vw 12vw 9vw;
    flex-direction: column-reverse;
  }
  .service_container::before{
    display: none;
  }
  .sp_service_img{
    margin-top:12vw;
  }
  .service_right{
    width: 100%;
  }
  .service_img_left{
    width: calc(100% * 256 / 626);
    margin-right: calc(100% * 15 / 626);
  }
  .service_img_right{
    width: calc(100% * 355 / 626);
  }
  .service_img_bottom{
    margin-top: calc(100% * 15 / 355);
  }
  .service_img_bottom img{
    width: calc(100% * 170 / 355);
  }
  .service_left{
    width: 65%;
    margin:0 auto;
    padding:12vw 0;
  }
  .service_left ul{
    font-size: 3.6vw;
  }
  .service_left ul li{
    margin-bottom:0.8em;
  }
  .service_btn{
    bottom:-5vw;
    left: 22vw;
  }
  .service_btn::after{
    transform: translate(1vw,1vw);
  }
  .service_btn a:hover{
    transform: translate(1vw,1vw);
  }
  .service_btn span{
    padding: 1.5em 0 1.5em 3.2em;
    font-size: 4.8vw;
  }
  .service_arrow{
    width: 16vw;
  }
  .sample_wrapper{
    padding:20vw 0;
  }
  .sample_header{
    margin:5vw 0 1vw;
  }
  #sample_slider1{
    margin-bottom:10vw;
  }
  .modal_container{
    padding:10px 0;
  }
  .modal_close{
    top:-20px;
    right: 5px;
  }
  .sample_box span{
    display: inline-block;
    font-size: 2.6vw;
    text-align: left;
  }
  .sample_more{
    margin-top:2vw;
  }
  .sample_more a{
    font-size: 2.6vw;
  }
  .sample_arrow{
    width: 20vw;
  }
  .contact_wrapper{
    padding:25vw 0 45vw;
  }
  .contact_wrapper::before{
    right: 64vw;
  }
  .contact_left{
    width: 80%;
    margin:0 auto 10vw;
  }
  .contact_text{
    margin-top:0;
    font-size: 3.4vw;
    line-height: 1.9em;
  }
  .contact_right{
    width: 100%;
  }

  .footer_wrapper{
    padding:10vw 0 6vw;
  }
  .footer_container{
    padding-bottom:10vw;
  }
  .sp_footer_logo{
    width: 18vw;
    margin:0 auto 8vw;
  }
  .footer_center{
    display: block;
  }
  .footer_center ul li{
    margin-bottom:1.4em;
    font-size: 3.2vw;
  }
  .footer_right{
    width: 50%;
    padding-right: 8%;
  }
  .footer_address{
    font-size: 2.7vw;
  }
  .footer_contact{
    margin-top:3vw;
    font-size: 3.2vw;
  }
  .copyright{
    font-size: 2.1vw;
  }

  .sv_mv{
    background-image: url("../img/sp/img-servie-1_sp.jpg");
  }
  .sv_title h1{
    font-size: 7.2vw;
    line-height: 1.6em;
  }
  .sv_title h1 span{
    margin-bottom:0.4em;
  }
  .sv_intro_container{
    width: 90%;
  }
  .sv_intro_inner{
    padding:10vw 0;
  }
  .sv_intro_text{
    padding:0 8vw;
    font-size: 3.2vw;
    line-height: 2em;
  }
  .sp_sv_intro_block{
    margin:8vw auto 4vw;
    padding-left:8vw;
  }
  .sv_intro_block{
    width: 65%;
    margin:0 auto;
  }
  .sv_intro_box{
    width: 100%;
    max-width: 100%;
  }
  .sv_intro_box p{
    font-size: 2.7vw;
  }
  .sv_intro_bottom{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35%;
  }
  .sv_intro_plus{
    width: 4vw;
    height: 4vw;
    margin:2vw auto;
  }
  .sv_intro_bottom span{
    padding:0.6em 0;
    font-size: 3.2vw;
  }
  .sv_intro_bottom::before{
    top:0;
    left:50%;
    width: 1px;
    height: 100%;
    border-left: 1px solid #313538;
  }
  .sv_intro_inner>p{
    font-size: 2.1vw;
  }
  .quality_wrapper{
    padding-bottom:12vw;
  }
  .quality_bg{
    transform: translate(0,-12%);
  }
  .quality_block{
    width: 90%;
    margin-top:-16vw;
  }
  .quality_inner{
    padding:12vw 0;
  }
  .quality_text{
    width: 100%;
    padding:0 10%;
  }
  .quality_text h4{
    margin-bottom:1em;
    font-size: 4.8vw;
  }
  .quality_text p{
    font-size: 3.4vw;
    line-height: 1.9em;
  }
  .quality_img{
    width: 80%;
    margin:5vw auto 0;
  }
  .sv_service_wrapper{
    padding:12vw 0 30vw;
  }
  .sv_service_container h2{
    font-size: 5.4vw;
  }
  .sv_service_box{
    width: 100%;
    margin-bottom:3%;
    padding:0 5%;
  }
  .sv_service_img{
    width: 55%;
  }
  .sv_service_text{
    width: 45%;
    padding:0 0 0 5%;
  }
  .sv_service_text>p{
    margin-bottom:0;
    font-size: 3vw;
    line-height: 1.8em;
  }
  .logo_list{
    margin-top:0;
  }
  .logo_list li{
    width: 31%;
  }
  .sv_service_img span{
    bottom:auto;
    left: auto;
    top:0;
    right: 0;
    padding:0.4em 1.2em;
    font-size: 3vw;
  }
  .sv_service_cost{
    margin-bottom:12vw;
    margin-top:0;
    padding:0 5% 0 12%;
    text-align: left;
  }
  .sv_service_cost_inner{
    padding:0.3em 0;
  }
  .sv_service_cost span{
    font-size: 2.7vw;
  }
  .sv_service_bottom{
    margin-top:4vw;
  }
  .sv_service_bottom_left{
    width: 100%;
    margin-bottom:8vw;
    padding-left:5%;
    font-size: 3.2vw;
  }
  .sv_service_bottom_right{
    width: 55%;
  }
  .sv_service_bottom .service_btn{
    position: relative;
    left: 0;
    transform: none;
  }
  .sv_service_bottom .service_btn span{
    width: 100%;
    padding:0.8em 0;
    font-size: 3.2vw;
    text-align: center;
  }
  .schedule_container{
    padding:12vw 0;
  }
  .schedule_inner{
    width: 100%;
    max-width: 100%;
  }
  .schedule_text_left{
    width: 100%;
    margin-bottom:10vw;
    padding:0 8vw;
  }
  .schedule_text_right{
    width: 100%;
    padding:0 8vw;
  }
  .schedule_text{
    font-size: 3.2vw;
  }

  .price_wrapper{
    padding-bottom:6vw;
  }
  .price_container{
    width: 100%;
    max-width: 100%;
  }
  .price_container h2{
    font-size: 4.8vw;
  }
  table *{
    padding:2.5vw 0;
    line-height: 1.3em;
  }
  .table-1 th, .table-1 td{
    width: 27%;
  }
  .table-1 th:nth-child(1), .table-1 td:nth-child(1){
    width: 19%;
  }
  .price_container table{
    font-size: 2.4vw;
    border-top:none;
  }
  .table-1 tr:nth-child(1) th:nth-child(2), .table-1 tr:nth-child(1) th:nth-child(3), .table-1 tr:nth-child(1) th:nth-child(4){
    font-size: 2.4vw;
  }
  .table-1 td{
    font-size: 2.4vw;
  }
  .table-1 td span{
    font-size: 3vw;
  }
  .price_container table.table-2{
    width: 90%;
    margin:0 auto;
  }
  .table-2 tr>*{
    padding-left:0;
    font-size: 3vw;
    line-height: 1.7em;
  }
  .table-2 tr * span{
    font-size: 2.4vw;
  }
  .table-2 th{
    display: none;
  }
  .table-2 tr.sp{
    width: 100%;
    border-bottom: 2px solid #313538;
  }
  .table-2 tr.sp th{
    display: block;
    padding-top:8vw;
  }
  .table-2 tr.sp:nth-child(1) th{
    padding-top:0;
  }
  .table-2 tr>*:nth-child(2){
    width: 45%;
  }
  .table-2 tr>*:nth-child(3){
    width: 40%;
  }

  .ab_mv{
    height: auto;
    padding:30vw 0 20vw;
    background-image: url("../img/sp/img-our_sp.jpg");
    background-size: cover;
    background-position: top center;
  }
  .ab_h1{
    width: 72%;
    max-width: 72%;
  }
  .ab_h1 h1{
    font-size: 5.2vw;
  }
  .ab_h1 p{
    margin-top:2em;
    font-size: 3.6vw;
    line-height: 2em;
    text-align: left;
  }
  .address{
    padding:8vw 5vw 15vw;
  }
  .ad_line{
    padding:1.4em 0;
    font-size: 3.2vw;
    line-height: 1.6em;
  }
  .ad_line a:hover{
  color: #0F6195;
  text-decoration: underline;
}
  .map{
    height: 75vw;
  }

  .form_wrapper{
    padding:28vw 0 24vw;
  }
  .form_container h1{
    font-size: 5.4vw;
  }
  .form_container form{
    max-width: 90%;
    margin:4vw auto 0;
  }
  .form_container form ul li{
    display: block;
    margin:1.2em auto;
  }
  .form_container form ul li input{
    max-width: 100%;
  }
  .form_container form ul li textarea{
    max-width: 100%;
  }
  .form_container form input[type="submit"]{
    width: 70%;
    margin:0 15%;
    font-size: 3.6vw;
  }

  .policy_container h1{
    font-size: 5.4vw;
    text-align: center;
  }
  .policy_container{
    padding:20vw 7vw;
    font-size: 3.2vw;
    line-height: 2em;
    text-align: left;
  }
  .policy_block{
    margin:10vw auto;
  }
  .policy_bottom div{
    padding:5vw 0 0;
  }
  .policy_block h4{
    margin-bottom:0.6em;
    font-size: 4.2vw;
  }
  .policy_block h5{
    margin-top:0.6em;
    font-size: 3.6vw;
  }
  .policy_block p{
    margin-bottom:2em;
    line-height: 1.9em;
  }
}
/* レスポンシブここまで */
