@charset "utf-8";

/*==================================
reset
==================================*/

/*
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;/**/
	font-weight:inherit;
    vertical-align:baseline;
    background:transparent;
	list-style:none;/**/
}
select {
  -moz-appearance: menulist;
  -webkit-appearance: menulist;
}
select::-ms-expand {
    display: block;
}
body {
    line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}
nav ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote::before, blockquote::after,
q::before, q::after {
    content:'';
    content:none;
}
a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
	border:0;/**/
	margin:0;/**/
	padding:0;/**/
}
textarea {
    vertical-align:middle;
	border:0;/**/
	margin:0;/**/
	padding:0;/**/
}
input[type="button"],input[type="submit"],input[type="reset"] {
	border-radius:0;
	-webkit-appearance:none;
}/**/
img {
	vertical-align:bottom;
}/**/
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}/**/

/*==================================
common
==================================*/

html{
	font-size:62.5%;
	}

body{
	font-family: 'Noto Sans JP', sans-serif;
	color:#000;
	font-size:1.6rem;
	font-size:16px;
	font-weight: 300;
	line-height:1.6;
	min-width: 100%;
    height: 100%;
	-webkit-text-size-adjust: none;
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-all;
}

/* a
----------------------------------*/
a{
	text-decoration:inherit;
	-webkit-transition: 0.2s ease-in-out;
       -moz-transition: 0.2s ease-in-out;
         -o-transition: 0.2s ease-in-out;
            transition: 0.2s ease-in-out;
	}

a:hover{
	opacity: 0.7;
    filter: alpha(opacity=70);
}
a:hover img{
	opacity: 0.8;
    filter: alpha(opacity=80);
}

p:not(:last-of-type){margin-bottom: 1em;}
/* heading
----------------------------------*/
h1, h2, h3, h4, h5, h6 { color: #333; font-weight: 400;  margin: 0 0 1rem 0;}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; text-decoration: none;}

/* clearfix
----------------------------------*/
.clearfix::after{
    content:".";
    display:block;
    height:0;
    font-size:0;
    clear:both;
	visibility:hidden;
	}

.clearfix{ display:inline-block;}

/* Hides from IE Mac */
* html .clearfix{ height:1%;}
.clearfix{ display:block;}

/* fade
----------------------------------*/
.fade {
    -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
	}
.fade:hover { opacity: 0.7; filter: alpha(opacity=70);}

/* ----------------------------------
INNER
---------------------------------- */
.inner {
	max-width: 1040px;
	margin: 0 auto;
  padding: 0 10px;
}
.inner2 {
	max-width: 1400px;
	margin: 0 auto;
}

/* ----------------------------------
HEADER
---------------------------------- */
header {
	width: 100%;
	margin: 0 auto;
	background: rgba(32, 112, 208, 0.9);
	overflow: hidden;
	position: fixed;
	z-index: 100;
}
header .head_inner {
	display: flex;
  justify-content: space-between;
  align-items: center;
	padding: 0 3%;
  height: 80px;
}
header .head-wrap_left{
  display: flex;
	align-items: center;
}
header .logo-area {
	width: 120px;
	display: block;
  margin-right: 16px;
}
header .logo-area h1{
	display: flex;
	justify-content: space-between;
	align-items: center;
  margin-top: 4px;
}
header .logo-area img {
	width: 100%;
  height: auto;
}
.hamburger{
	display: none;
}
nav#gNav ul{ 
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
}
nav#gNav li{
  margin: 0 1em;
	text-align: center;
}
nav#gNav li.nav-line,
nav#gNav li.nav-reservation{
  display: flex;
  align-items: center;
  margin: 0
}
nav#gNav li a{
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
  text-decoration: none;
  width: 100%;
	letter-spacing: 0.2rem;
	position: relative;
	display: inline-block;
}
nav#gNav li a::after {
  position: absolute;
  bottom: 2px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: rgba(255,255,255,0.8);
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
nav#gNav li a:hover::after {
  bottom: -8px;
  opacity: 1;
  visibility: visible;
}
nav#gNav li a:hover{
	opacity: 1;
}
header .head-wrap_right{}
header .head-info a{
  color: #fff;
  font-size: 1.4rem;
}
header .head-info a img{
    width: 50px;
    height: auto;
  }
header .head-info a:last-child{
   margin-left: 1vw
}
@media screen and (min-width:1024px) and ( max-width:1200px) {
	nav#gNav li{
    margin: 0 1vw;
  }
  nav#gNav li a{
		font-size: 1.3vw;
		letter-spacing: 0;
	}
  header .head-info a{
    font-size: 1.1vw;
  }
}
/* ----------------------------------
HEADING
---------------------------------- */

.heading {
	margin-bottom: 1.5em;
	font-size: 2.4rem;
	font-weight: 700;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	line-height: 1.0;
}
.heading::after {
	content: "";
	width: 100px;
	margin: 0 auto;
  margin-top: 0.5em;
	display: block;
	border-bottom: #2070d0 3px solid;
}
.heading span{
	display: block;
	font-size: 1.6rem;
	font-weight: normal;
	margin-top: 8px;
}
.sub-heading,
.sub-heading02 {
	border-bottom: 4px solid #2070d0;
	display: block;
	padding: 0 0 16px 0;
	line-height: 1.0;
	font-size: 2.4rem;
  margin: 0 0 32px;
}
.sub-heading02 {
  margin: 0 0 32px;
}
.sub-heading span,
.sub-heading02 span{
	margin-left: 16px;
	font-size: 1.8rem;
}

/* ----------------------------------
INDEX
---------------------------------- */
.ContentOver-box{
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.container {
	padding: 0;
}
/* top-key */
.top-key {
	background-image: url(../img/bg01.jpg);
	background-position:center;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	padding: 0 0 40px 0;
}
.top-key_wrap{
  display: flex;
  justify-content: space-between;
}
.top-key_catch{
  margin: 8vw 2.6vw 0 5.2vw;
}
.top-key_ttl{
	font-weight: 700;
	line-height: 1.4;
	/*letter-spacing: 0.5rem;*/
}
.top-key .catch-emp01{
	color: #2070d0;
	font-size: 5.2vw;
	display: block;
}
.top-key .catch-emp02{
	font-size: 3vw;
  display: block;
	line-height: 1.3;
  margin-top: 1vw;
}
.top-key .catch-release{
	background:#110B5E;
	color: #fff;
	font-size: 1.77vw;
	font-weight: 700;
	text-align: center;
  margin-top: 2vw;
	padding: 8px;
  width: 37vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-key_p {
  margin: 20px 0;
  text-align: center;
  font-size: 1.2em;
}
.top-key .top-key_img{
	width: 46.44vw;
  height: auto;
  margin-right: 6.77vw;
}
.top-key img{
	width: 100%;
}
.top-key .catch-release img{
	width: 6.563vw;
  height: auto;
  display: inline-block;
  vertical-align:text-bottom;
	margin: 0 0 0 2.39vw;
}
.sec_cont {
	position: relative;
}
.sec_cont02 {
	position: relative;
	padding: 80px 0;
}
.bg_lgr{background: #eee;}
.main_heading {
	font-size: 4.8rem;
	font-weight: 300;
	margin-bottom: 56px;
	text-align: center;
	letter-spacing: 0.5rem;
}
/* top-news */
.top-news{
  padding: 80px 0
}
.top-news .heading{
  text-align: left;
  margin-bottom: 0.5em
}
.top-news .heading::after{
  display: none;
}
.top-news_wrap{}
.top-news_list{
  border-top: 1px solid #BBD8F5;
  border-bottom: 1px solid #BBD8F5;
  padding: 0.5em 0
}
.top-news_list a{
  color: #000;
  display: block;
}
.top-news_list .item{
  padding: 0.5em 30px
}
.top-news_list .news-date{
  font-size: 1.4rem;
  margin-right: 20px;
  width: 220px;
  display: inline-block;
}
.top-news .btn-wrap{
    display: flex;
    justify-content: flex-end
}
/* top-about */
.top-about{
  background-color: #B0CEF2;
  padding: 80px 0;
}
.top-about_wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.top-about_text-area{
  width: 39%;
  margin-right: 4%
}
.top-about_image{
  width: 57%
}
.bg-color--blue{
  background-color:#DDE5F3;
}
.bg-color--light-blue{
  background-color: #B0CEF2;
}
/* top-produc */
.top-product{
  padding: 80px 0
}
.top-product_wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.top-product_text-area{
  width: 39%;
  order: 2;
  margin-left: 4%
}
.top-product_image{
  width: 57%;
  order: 1;
}
.btn-wrap{
  margin-top: 40px;
}
/* top-voice */
.top-voice{
  padding: 80px 0
}
.top-voice li{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	margin-bottom: 40px;
}
.top-voice li:last-child{
  margin-bottom: 0;
}
.top-voice_prof{
	width: 20%;
}
.top-voice_prof span{
	display: block;
	text-align: center;
}
.top-voice .prof-icon{
	width: 100%;
	margin-bottom: 8px;
}
.top-voice .prof-icon img{
	width: 100%;
	display: block;
	margin: 0 auto;
	text-align: center;
}
.top-voice .symptoms{font-weight: 700;}
.top-voice .prof-name{}
.top-voice .voice-text{
	
}
.top-voice_text-area {
	display: inline-block;
	position: relative; 
	margin: 0 0 0 50px;
	padding: 24px 35px;
	width: 77%;
	border-radius: 12px;
	background: #edf1ee;
}
.top-voice_text-area :after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%; 
	left: -50px;
	border: 30px solid transparent;
	border-right: 40px solid #edf1ee;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
  transform: translateY(-50%)
}
.top-voice_text-area {
	line-height: 1.8;
}
/* bottom-contact */
.bottom-contact{
  padding: 54px 0
}
.bottom-contact .text{
  text-align: center;
}

/* 動画 movie */
.top-movie_wrap{
  border-top: 1px solid #BBD8F5;
  border-bottom: 1px solid #BBD8F5;
  padding: 0.5em 0;
  width: 100%;
  aspect-ratio: 16 / 9;
}
.top-movie_wrap iframe{
  width: 100%;
  height: 100%;
}
/* ----------------------------------
HEADING_AREA BREADCRUM
---------------------------------- */
.breadcrumb {}
.breadcrumb_list {}
.breadcrumb .item {
    display: inline-block;
    margin-right: 8px;
	font-size: 1.4rem;
}
.breadcrumb .item:last-child {
    margin-right: 0;
}
.breadcrumb .item a {
    padding-right: 0px;
    position: relative;
	color: #333;
	text-decoration: underline;
}
.breadcrumb .item a:hover {
	color: #999;
}
.breadcrumb .item + .item:before {
    content: "／";
    margin-right: 8px;
    font-size: 100%;
}
/* ----------------------------------
SUB PAGE
---------------------------------- */
.sub_container {
	padding: 0 0 80px;
}
.lead-box{
	line-height: 1.6;
}
.lead-box:not(:last-of-type){
	margin-bottom: 80px;
}
.lead-box .step{
	font-size: 1.8rem;
  line-height: 1;
	margin-bottom: 30px;
	padding-left: 8px;
	border-left: #bbd8f5 8px solid;
}
.lead-box .step-ttl,
.lead-box .info_ttl{
	font-size: 1.8rem;
  line-height: 1;
	margin-bottom: 30px;
	padding-left: 8px;
	border-left: #bbd8f5 8px solid;
}
.lead-box p{
	margin-bottom: 16px;
}

/* 製品情報 */

/* 施術情報（技術情報） */
.box-ttl01,
.box-ttl02,
.box-ttl03{
	text-align: center;
}
.box-ttl01 span,
.box-ttl03 span{
	border-bottom: 2px solid #2070d0;
	font-size: 2.4rem;
	font-weight: 700;
	display: inline-block;
	margin: 0 auto;
	margin-bottom: 40px;
}
.box-ttl03-tl{
	border-bottom: 2px solid #2070d0;
	font-size: 2.4rem;
	font-weight: 700;
	margin: 0 auto;
	margin-bottom: 40px;
}
.box-ttl02 span{
	background: #2070d0;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	display: inline-block;
	margin: 0 auto;
	/*margin-bottom: 40px;*/
	padding: 8px;
}
.box-ttl02 img{
	width: 150px;
	margin: 0 8px -2px;
	vertical-align:inherit
}
.box-ttl03 span,
.box-ttl03-tl{
	border-bottom: 2px solid #FF5F00;
	margin-bottom: 24px;
}
.check-list{
	display: block;
	margin-bottom: 24px;
}
.check-list li{
	border: none;
	display: block;
	padding: 0;
	width: auto;
	margin-bottom: 4px;
	text-indent: -1em;
	padding-left: 1em;
	position: relative;
}
.check-list li::before{
	content: "";
	display:inline-block;
	background-image: url("../img/check.svg");
	width: 18px;
	height: 20px;
	margin: 0 8px 0 0;
	position: relative;
	top:2px;
}
.check-list img{
	width: 80px;
	margin: 0 8px -2px;
	vertical-align:inherit
}
.rp-note{
	margin-bottom: 24px;
}
.rp-note p{
	margin-bottom: 0;
	text-indent: -1em;
	padding-left: 1em;
}
.rp-emp{
	border: 1px solid #FF7F46;
	display: inline-block;
	padding: 24px 24px 16px 24px;
}
.step-list{
  margin-top: 40px;
  padding: 0 10px;
}
.step-list .item{
  border-bottom:1px solid #858585;
  padding-bottom: 40px;
  margin-bottom: 40px;
}
.step-list .item:last-child{
  border: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.step-list .step-dtl{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 30px
}
.step-list .step-dtl .image{
  width: 65%;
}
.step-list .step-dtl .image img,
.step-list .item--last .image img{
  width: 100%
}
.step-list .item--last .image{
  width: 330px
}
.step-list .use-item{
  border:1px solid #2070D0;
  border-radius: 8px;
  text-align: center;
  width: 30%;
  margin-top: 1.2em;
  position: relative;
  padding: 2em 1em 1em
}
.step-list .use-item .resin{
  background: #fff;
  border:1px solid #2070D0;
  color: #2070D0;
  display: inline-block;
  padding: 0.2em 1em;
  position: absolute;
  top: -1.2em;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 130px
}

/**/
.exhibit_box{}
.exhibit_box:not(:first-of-type){margin-top: 40px;}
/*.exhibit_ttl{
  background: #bbd8f5;
  font-size: 1.8rem;
  margin-bottom: 5px;
  padding: 0.2em 1em;
  display: flex;
  justify-content: space-between;
}
.exhibit_date{
  width: 30%;
}
.exhibit_month{
  width: 65%;
  text-align: right
}*/
.exhibit_month a,
.tbl-exhibit td a{
  color: #2070d0;
  text-decoration: underline;
}
.tbl-exhibit {
  width: 100%;
}
.tbl-exhibit th {
  background: #d8d9d9;
  border-bottom: solid 1px #d8d9d9;
  font-size: 1.8rem;
  padding: 0.2em 1em;
  width: 31%;
}
.tbl-exhibit th:nth-child(2){
  width: 37%;
  border-right: solid 4px #fff;
  border-left: solid 4px #fff;
}
.tbl-exhibit td {
  border-bottom: solid 1px #d8d9d9;
  padding: 0.8em 1em;
}
/*.exhibit_page-link{
  margin-top: 20px;
  text-align: center;
}
.exhibit_page-link .link-up,
.exhibit_page-link .link-down{
  color: #000;
  position: relative;
  margin: 1em 0.5em
}
.exhibit_page-link .link-up::before,
.exhibit_page-link .link-down::before{
  content: "▲";
  color: #357dd4;
  display: inline-block;
  position: relative;
}
.exhibit_page-link .link-down::before{
  content: "▼";
}
*/
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0;
}
/*.tab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #325A8C;
  display: block;
  order: -1;
}*/
.tab-label {
  color: #333;
  background: #fff;
  border: 1px solid #333;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  padding: 10px .5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
  display: inline-block;
}
.tab-label::before {
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  position: absolute;
  right: 16px;
  top: 18px;
  transform: rotate(45deg);
}
.tab-label:not(:last-of-type) {
  margin-right: 8px;
}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.tab-switch:checked+.tab-label {
  background: #BAD8F7;
  border: 1px solid #BAD8F7;
}
.tab-switch:checked+.tab-label::before{
  display: none
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 16px 0;
  opacity: 1;
  transition: .5s opacity;
}
.tab-switch {
  display: none;
}
@media screen and (max-width: 767px) {
  /*.exhibit_ttl{
    font-size: 1.4rem;
  }
  .exhibit_date{
    width: 100px;
    margin-right: 1em
  }*/
  .tbl-exhibit tr {
    display: block;
  }
  .tbl-exhibit td {
    display: block;
    padding: 0.5em 1em 0.5em 1.5em;;
  }
  .tbl-exhibit td:first-child {
    display: block;
    background: #eee;
    border-top: solid 2px #d8d9d9;
    padding: 0.3em 1em;
  }
  .tbl-exhibit thead {
    display: none;
  }
  .tbl-exhibit tbody {
    display: block;
    width: 100%;
  }
  .tbl-exhibit tbody tr {
    width: 100%;
  }
  .tbl-exhibit tr td + td {
    border-left: none;
  }
  .tbl-exhibit tbody td:last-child {
    border-bottom: solid 1px #d8d9d9;
  }
  .tab-label::before {
    width: 6px;
    height: 6px;
  }
}
/* ABOUT */
.message_wrap{
  display: flex;
	justify-content: space-between;
  align-items: center;
}
.message_text-area{
  width: 50%;
  margin-right: 8%
}
.message-ttl{
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 1.5em;
}
.message_text-area .text{
	margin-bottom: 16px;
	line-height: 1.8;
}
.message_image{
	/*margin: 0 0 24px 40px;*/
	width: 42%;
}
.message_image img{
	width: 100%;
	margin-bottom: 8px;
}
.message_image .message_image-text{
	display: block;
	text-align: center;
}
/* COMPANY */
.tableWrap{
	width:100%;
	margin:0 auto;
}
table.company{
	width:100%;
	margin:0 auto;
	margin-bottom: 80px;
	border-collapse:collapse;
}
table.company td,table.company th{
	padding:24px 16px;
	border-bottom: 1px solid #ccc;
	line-height: 2.0;
}
table.company th{
	width:30%;
	font-weight:normal;
	text-align:left;
}
/* 製品情報 */
.products_wrap{
  padding: 0 10px 80px;
}
.products_box{
  background: #d8d9d9;
  display: flex;
  justify-content: space-between;
  margin-bottom: 32px;
  padding: 24px;
}
.products_image{
  max-width: 291px;
  margin-right: 24px;
}
.products_text{}
.products_ttl{
  font-size: 1.8rem;
}
/* 選択分岐 扉ページ*/
.modal {
	position: absolute;
	display:none;
	z-index:9999;
  top: 15vw;
  left: 0;
  right: 0;
}
.modal .pr_box {
	height:auto;
	margin:auto;
  background:#FFFFFF;
  border: 5px solid #2070d0;
	box-shadow:0px 0px 12px rgba(0,0,0,0.4);
  padding: 64px;
  max-width: 1020px
}
.contact-type{
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact-type-wrap .ttl{
  font-size: 3.2rem;
  text-align: center;
  margin-top: 40px;
}
.choice-wrap{
  display: flex;
  justify-content: center;
  align-items: center;
}
.choice-wrap a{
  display: inline-block;
  width: 240px;
  text-align: center;
  margin: 1em 1em 0;
}

.close_modal{
	background:#110b5e;
  cursor:pointer;
  color: #fff;
  display: block;
  padding: 0 1.6em;
	line-height: 37px;
  text-decoration: none;
	position:relative;
	overflow:hidden;
  width:200px;
}
.close_modal_no{
	background:#ccc;
  cursor:pointer;
  color: #000;
  display: block;
  padding: 0 1.6em;
	line-height: 37px;
  text-decoration: none;
	position:relative;
	overflow:hidden;
  width:200px;
}
.close_modal::after,
.close_modal_no::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
  transform: translateY(-50%);
	width: 60px;
	height: 1px;
	background: #fff;
}
.close_modal_no::after{
  background: #000;
}
a.close_modal:hover,
a.close_modal_no:hover{
  border-radius: 50px;
  transition:all .5s ease;
  opacity: 1;
}
/* ----------------------------------
お問い合わせ・FORM
---------------------------------- */
.contact-form_text-area{
  border-bottom: 1px solid #858585;
  padding-bottom: 32px;
  margin-bottom: 32px
}
.contact-form_form-area{
  max-width:760px;
	margin:0 auto;
	padding: 15px 10px;
	border-collapse:collapse;
}
.contact-form_form-area a{
	text-decoration: underline;
	margin-left: 16px;
}
table.formTable{
  margin-bottom: 64px;
  width: 100%
}
table.formTable td,table.formTable th{
	padding: 15px 0;
}
table.formTable th{
	width: 37.5%;
	text-align:left;
}
table.formTable th.req{
  position: relative
}
table.formTable th.req::before{
  content:"※必須";
  color: #bf0d23;
  font-size: 1.4rem;
  position: absolute;
  right: 30px;
  display: block
}
table.formTable td{
	max-width: 62.5%;
}
table.formTable input[type="text"], select, textarea {
	background: #e8f0fe;
  border: 1px solid #c5c6c6;
	padding:10px;
	display:inline-block;
	width: 100%;
}
::placeholder {
  line-height: 1.6;
}
table.formTable input[name="field_47003_sei"],
table.formTable input[name="field_47003_mei"],
table.formTable input[name="field_47006_sei"],
table.formTable input[name="field_47006_mei"]{
	width: 42.25%!important;
	margin-right: 5%;
}
table.formTable input[name="field_47003_mei"],
table.formTable input[name="field_47006_mei"]{
	margin-right: 0;
}
.contact-form_form-area input[type="submit"],
.contact-form_form-area input[type="reset"],
.contact-form_form-area input[type="button"] {
	display:block;
	font-size: 1.6rem;
	width:194px;
	height:35px;
  margin: 0 auto;
}
.contact-form_form-area input[type="submit"]:hover,
.contact-form_form-area input[type="reset"]:hover,
.contact-form_form-area input[type="button"]:hover{
	opacity: 0.8;
	cursor: pointer;
} 
.contact-form_form-area input[type="submit"]{
	background:linear-gradient(#1a3057, #41608c);
	color: #fff;
}
input[type="reset"]{
	background: #ccc;
}
.form_note{
	font-size: 1.4rem;
	padding-top: 8px;
}
/* ----------------------------------
FOOTER
---------------------------------- */
footer {
  width: 100%;
	overflow: hidden;
}
.footer_navi{
  background: #1a3057;
  padding: 40px 0 24px;
}
footer .footer_image{
  width: 111px;
  height: auto;
  margin: 0 auto;
}
footer .fNav {
  text-align: center;
  margin-top: 1.4em
}
footer .fNav .item {
  color: #fff;
	display: inline-block;
	margin-left: 24px;
	font-size: 1.4rem;
}
footer .fNav .item a{
  color: #fff;
}
footer .copyright {
  background: #1a3057;
  color: #fff;
	text-align: center;
	font-size: 1.3rem;
  padding: 10px 1.5em 40px
}
/* ----------------------------------
PAGETOP
---------------------------------- */
.page-top{
	display: none;
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 1;
	line-height: 1.2;
	margin-bottom: 0;
	opacity: 0.9;
}
.page-top img {
	width: 40px;
	height: 40px;
}


/* ----------------------------------
BUTTON
---------------------------------- */
.btn-wrap a.btn {
  background:#110b5e;
  cursor:pointer;
  color: #fff!important;
  display: block;
  padding: 0 1.6em;
	line-height: 37px;
  text-decoration: none;
	position:relative;
	overflow:hidden;
  width:240px;
}
a.btn::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
  transform: translateY(-50%);
	width: 40px;
	height: 1px;
	background: #fff;
}
a.btn:hover{
  border-radius: 50px;
  transition:all .5s ease;
  opacity: 1;
}
.btn-wrap a.btn:visited{
  color: #fff;
}
/* ----------------------------------
OTHER
---------------------------------- */
.CEN {text-align: center;}
.TL {text-align: left;}
.TR {text-align: right;}
.CEN_spTL {text-align: center;}
.lh18 {line-height: 1.8;}
.lh16 {line-height: 1.8;}
.F90 {font-size: 90%;}
.img-cen { display: block; margin: auto;}
.position-cen { display: block; margin: auto;}
.ul-align-center{
    display: flex;
    align-items: center;
    flex-direction: column;
  }
.emphasis { font-weight: 700;}
.bg_gray {background: #eee;}
a.textcol { color:#1852C7; text-decoration: underline;}
.indent-1{text-indent: -1em; padding-left: 1em;}
.w50 {width: 50%; box-sizing: border-box;}
.mt40{margin-top: 40px}
.mb140_70{ margin-bottom: 140px;}
.mb100_50{ margin-bottom: 100px;}
.mb80_40{ margin-bottom: 80px;}
.mb40_24{ margin-bottom: 40px;}
.mb24{ margin-bottom: 24px;}
.pb80_40{ padding-bottom: 80px;}
.pb40_24{ padding-bottom: 40px;}
.w100p{max-width: 100%}
.pc {display: block;}
.sp {display: none;}
/* max-width:1024px
-------------------------------------------------- */
@media only screen and (max-width: 1024px) {
	body{
		width: 100%;
		min-width: 100%;
		font-size: 1.4rem;
	}
	/* ----------------------------------
	INNER
	---------------------------------- */
	.inner,
	.inner2{
		width: 100%;
		margin: 0 auto;
    padding: 0
	}
	/* ----------------------------------
	HEADER
	---------------------------------- */
	header {
		width: 100%;
		position: fixed;
		/*padding: 8px 0;*/
		z-index: 1000;
	}
	.head_inner {
    display: block;
		width: 100%;
	}
	header .logo-area {
		padding: 12px 0 0 0;
    margin-right: 0;
	}
	header .logo-area img {
		width: 120px;
		margin-bottom: 4px;
	}
  header .head-wrap_right{
    margin-right: 60px
  }
  /*----------ハンバーガーアイコン----------*/
	.hamburger_wrap {
		width: 60px;
		height: 60px;
		display: block;
		position: absolute;
		right: 2%;
	}
	.hamburger {
		position: absolute;
		display: block;
		width: 30px;
		height: 20px;
		z-index: 10000;
		right: 14px;
		top: 18px;
		box-sizing: border-box;
		cursor: pointer;
	}
	.hamburger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		position: absolute;
		right: 0;
		width: 100%;
		height: 1px;
		background-color: #fff;
		margin: 0 auto;
	}

	.hamburger span:nth-of-type(1) {
		top: 0;
	}
	.hamburger span:nth-of-type(2) {
		top: 10px;
	}
	.hamburger span:nth-of-type(3) {
		bottom: -1px;
	}
		.hamburger span:nth-of-type(1) {
		-webkit-animation: menu-ber01 .75s forwards;
		animation: menu-ber01 .75s forwards;
	}
	.hamburger span:nth-of-type(2) {
		transition: all .25s .25s;
		opacity: 1;
	}
	.hamburger span:nth-of-type(3) {
		-webkit-animation: menu-ber02 .75s forwards;
		animation: menu-ber02 .75s forwards;
	}

	.active span:nth-of-type(1) {
		-webkit-animation: active-menu-ber01 .75s forwards;
		animation: active-menu-ber01 .75s forwards;
		background-color: #fff;
	}
	.active span:nth-of-type(2) {
		opacity: 0;
	}
	.active span:nth-of-type(3) {
		-webkit-animation: active-menu-ber03 .75s forwards;
		animation: active-menu-ber03 .75s forwards;
		background-color: #fff;
	}
	@-webkit-keyframes menu-ber01 {
		0% {
			-webkit-transform: translateY(8px) rotate(45deg);
		}
		50% {
			-webkit-transform: translateY(8px) rotate(0);
		}
		100% {
			-webkit-transform: translateY(0) rotate(0);
		}
	}

		@keyframes menu-ber01 {
		0% {
			transform: translateY(8px) rotate(45deg);
		}
		50% {
			transform: translateY(8px) rotate(0);
		}
		100% {
			transform: translateY(0) rotate(0);
		}
	}

	@-webkit-keyframes menu-ber02 {
		0% {
			-webkit-transform: translateY(-8px) rotate(-45deg);
		}
		50% {
			-webkit-transform: translateY(-8px) rotate(0);
		}
		100% {
			-webkit-transform: translateY(0) rotate(0);
		}
	}

	@keyframes menu-ber02 {
		0% {
			transform: translateY(-8px) rotate(-45deg);
		}
		50% {
			transform: translateY(-8px) rotate(0);
		}
		100% {
			transform: translateY(0) rotate(0);
		}
	}

	@-webkit-keyframes active-menu-ber01 {
		0% {
			-webkit-transform: translateY(0) rotate(0);
		}
		50% {
			-webkit-transform: translateY(10px) rotate(0);
		}
		100% {
			-webkit-transform: translateY(10px) rotate(45deg);
		}
	}

	@keyframes active-menu-ber01 {
		0% {
			transform: translateY(0) rotate(0);
		}
		50% {
			transform: translateY(10px) rotate(0);
		}
		100% {
			transform: translateY(10px) rotate(45deg);
		}
	}

	@-webkit-keyframes active-menu-ber03 {
		0% {
			-webkit-transform: translateY(0) rotate(0);
		}
		50% {
			-webkit-transform: translateY(-10px) rotate(0);
		}
		100% {
			-webkit-transform: translateY(-10px) rotate(-45deg);
		}
	}

	@keyframes active-menu-ber03 {
		0% {
			transform: translateY(0) rotate(0);
		}
		50% {
			transform: translateY(-10px) rotate(0);
		}
		100% {
			transform: translateY(-10px) rotate(-45deg);
		}
	}

	/*----------ナビゲーション----------*/
	#navigation{
		position: fixed;
		display: none;
		width: 100%;
		height: 100vh;
		top: 60px;
		left: 0;
		background-color: rgba(0,0,0,0.9);
		z-index: 1000;
		overflow-y: scroll;
	}
	#navigation .navigation_inner{
		display: block;
		width: 100%;
		height: 100%;
		z-index: 100000;
	}
	#navigation .navigation_inner .navigation_menu{
		display: block;
	}
	nav#gNav ul {
		width: 70%;
		display: block;
		margin: 0 auto;
    margin-top: -60px;
		padding: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translateY(-50%) translateX(-50%);
		transform: translateY(-50%) translateX(-50%);
	}
	nav#gNav ul li { 
		width: 100%;
		margin: 0 auto;
		text-align: left;
		font-size: 1.6rem;
    padding: 1em 0;
    border-top: 1px solid rgba(255,255,255,0.3);
	}
  nav#gNav ul li:first-child{
    border: none;
  }
	nav#gNav ul li a {
		display: block; 
		text-decoration: none;
		opacity: 1.0;
		color: #fff;
		line-height: 24px;
	}
  nav#gNav li.nav-line,
  nav#gNav li.nav-reservation{
    margin: 0;
    border: none;
  }
  nav#gNav li.nav-line{
    margin-top: 24px;
  }
  nav#gNav li.nav-line a,
  nav#gNav li.nav-reservation a{
    border-radius: 50px;
    line-height: 48px;
    width: 100%;
    margin-right: 0;
    text-align: center;
  }
  nav#gNav li.nav-reservation a{
    margin-right: 0
  }
  
	/* ----------------------------------
	INDEX
	---------------------------------- */
  .ContentOver-box .inner{
    padding: 0 8px
  }
	.top-key .catch-release .sp{
		display: none;
	}
	.top-categori li a{
		font-size: 2vw;
		padding: 24px;
	}
	.top-categori li span{
		font-size: 1.5vw;
	}
	/* ----------------------------------
	SUB PAGE
	---------------------------------- */
	/* 施術情報 */
	.box-ttl02 img{
		width: 130px!important;
		margin: 0 8px -2px;
		vertical-align:inherit
	}
	.check-list img{
		width: 80px!important;
		margin: 0 8px -2px;
		vertical-align:inherit
	}
	/* ABOUT */
	.message_text-area{
		display: block;
	}
	.message_image{
		margin: 0 auto;
		width: 50%;
	}
}
/* max-width:768px
-------------------------------------------------- */
@media only screen and (max-width: 768px) {
	body{
		width: 100%;
		min-width: 100%;
		font-size: 1.4rem;
	}
	img{width: 100%;}
	/* ----------------------------------
	HEADING
	---------------------------------- */
	.heading {
		margin-bottom: 40px;
		font-size: 2rem;
	}
	.heading span{
		font-size: 1.4rem;
	}
	.sub-heading,
	.sub-heading02 {
		line-height: 1.0;
		font-size: 1.6rem;
		margin-top: -20px;
		margin-bottom: 24px;
	}
  .sub-heading02 {
    margin: 0 0 32px;
  }
	.sub-heading span,
	.sub-heading02 span{
		font-size: 1.4rem;
	}
	
	/* ----------------------------------
	HEADER
	---------------------------------- */

	header {
		padding: 0;
	}
  header .head_inner {
    height: 60px;
  }
  header .logo-area {
		text-align: left;
		padding: 10px 0 0 0;
    width: 100px
	}
  header .head-info a{
  }
  header .head-info a img{
    width: 40px;
    height: auto;
  }
	/* ----------------------------------
	ハンバーガーメニュー
	---------------------------------- */
	header .drawer-hamburger {
		padding: 18px;
	}
	/* ----------------------------------
	INDEX
	---------------------------------- */
	.container {
    padding: 200px 0 0px 0;
  }
	#top .container {
		padding: 0 0 0 0;
	}
	.sec_cont {
		position: relative;
	}
	.sec_cont02 {
		position: relative;
		padding: 40px 0;
	}
	.bg_lgr{background: #eee;}
	/* top-key */
	.top-key {
		padding: 80px 0 40px;
		height: auto;
		text-align: center;
	}
	.top-key_ttl{
		line-height: 1.6;
		margin-top: 0;
	}
  .top-key_catch{
    margin: 0 auto;
    margin-top: 5vw;
    width: 90%
  }
	.top-key .catch-emp01{
		/*font-size: 2.8rem;*/
	}
	.top-key .top-key_wrap{
		display: block;
	}
  .top-key_ttl{
    font-weight: 700;
    line-height: 1.4;
  }
  .top-key .catch-emp01{
    font-size: 8vw;
  }
  .top-key .catch-emp02{
    font-size: 6vw;
    margin-top: 1.5vw;
  }
  .top-key .catch-release{
    font-size: 4vw;
    margin-top: 5vw;
    width: 100%;
  }
  .top-key .catch-release img{
    width: 18vw;
    margin: 0 0 0 4vw;
  }
  .top-key .top-key_img{
		width: 90%;
		margin: 0 auto;
	}
  .top-key_img img{
    width: 100%;
    margin-top: 2em
  }
  /* top-news */
  .top-news{
    padding: 0 0 40px
  }
  /* top-about */
  .top-about_wrap{
    flex-wrap: wrap;
  }
  .top-about_text-area{
    width: 100%;
    margin-right: 0
  }
  .top-about_image{
    width: 100%;
    margin-top: 40px;
  }
  /* top-produc */
  .top-product{
    padding: 40px 0
  }
  .top-product_wrap{
    flex-wrap: wrap;
  }
  .top-product_text-area{
    width: 100%;
    margin-left: 0;
    text-align: left;
  }
  .top-product_image{
    width: 100%;
    order: 2;
    margin-top: 40px;
  }
  /* top-voice */
  .top-voice{
    padding: 40px 0
  }
  .top-voice li{
    width: 100%;
  }
  .top-voice_prof{
    width: 25%;
  }

	/* ----------------------------------
	HEADING_AREA BREADCRUM
	---------------------------------- */
	.breadcrumb{
    margin-bottom: 32px;
  }
	.breadcrumb .item {
		display: inline-block;
		margin-right: 8px;
		font-size: 1.2rem;
	}
	/* ----------------------------------
	SUB PAGE
	---------------------------------- */
	.sub_container {
		padding: 0px 0 40px 0;
	}
	.lead-box{
		margin-bottom: 40px;
	}
	.lead-box p{
		margin-bottom: 8px;
	}
	.lead-box h3{
		font-size: 2.0rem;
	}
	/* 製品情報 */
	
	/* 施術情報（技術情報） */
	.box-ttl01 span,
	.box-ttl02 span,
	.box-ttl03 span,
	.box-ttl03-tl{
		font-size: 2.0rem;
	}
	.box-ttl02 img{
		width: 100px!important;
		margin: 0 8px -2px;
		vertical-align:inherit
	}
  .step-list{
    margin-top: 24px;
  }
  .step-list .item{
    padding-bottom: 24px;
    margin-bottom: 24px;
  }
  .step-list .step-ttl{
    margin-bottom: 1em
  }
  .step-list .step-dtl{
    flex-wrap: wrap;
  }
  .step-list .step-dtl .image{
    width: 100%;
  }
  .step-list .item--last .image{
    width: 100%;
  }
  .step-list .use-item{
    width: 90%;
    margin: 0 auto;
    margin-top: 3em
  }
  .step-list .use-item .resin{
    font-size: 1.4rem;
  }
	/* ABOUT */
  .message_wrap{
    flex-wrap: wrap;
  }
  .message_text-area{
    width: 100%;
    margin-right: 0
  }
  .message-ttl{
    font-size: 1.6rem;
    margin-bottom: 1.5em;
  }
  .message_text-area .text{
    margin-bottom: 24px;
  }
  .message_image{
    width: 80%;
  }
	/* COMPANY */
	.tableWrap{
		width:100%;
		margin:0 auto;
	}
	table.company{
		margin-bottom: 0;
	}
	table.company td,table.company th{
		padding:0 0 24px 0;
		border: none;
		display:block;
	}
	table.company th{
		width:100%;
		font-weight:700;
		padding: 0 0 8px 0;
	}
  /* 製品情報 */
  .products_wrap{
    padding: 0 10px 40px;
  }
  .products_box{
    flex-wrap: wrap;
  }
  .products_image{
    max-width: 100%;
    margin-right: 0;
  }
  .products_text{
    margin-top: 24px;
  }
  .products_ttl{
    font-size: 1.6rem;
  }
  
  /* 選択分岐 扉ページ*/
  .modal{
    top:50vw
  }
  .modal .pr_box {
    padding: 24px;
    margin: 0 10px
  }
  .contact-type-wrap .ttl{
    font-size: 2.4rem;
    margin-top: 1em;
  }
  .choice-wrap{
    flex-wrap: wrap;
    margin-top: 0
  }
	/* ----------------------------------
	FORM
	---------------------------------- */
	#formWrap {
		width:100%;
		margin:0 auto;
	}
	table.formTable{
		margin-bottom: 40px;
	}
	table.formTable td,table.formTable th{
		padding:0 0 40px 0;
		border: none;
		display:block;
    max-width: 100%
	}
	table.formTable th{
		width:100%;
		font-weight: 700;
		padding: 0 0 16px 0;
	}
  table.formTable th.req::before{
    right: 0;
  }
	table.formTable input[name="field_47003_sei"],
  table.formTable input[name="field_47003_mei"],
  table.formTable input[name="field_47006_sei"],
  table.formTable input[name="field_47006_mei"]{
    width: 41%!important;
    margin-right: 5%;
  }
  table.formTable input[name="field_47003_mei"],
  table.formTable input[name="field_47006_mei"]{
    margin-right: 0;
  }
	input[type="submit"], input[type="reset"], input[type="button"] {
		display:inline-block;
		font-size: 1.6rem;
		width:200px;
		height:60px;
		margin: 0 24px;
	}
  /* ----------------------------------
  FOOTER
  ---------------------------------- */
  footer {
    padding: 40px 0 24px;
  }
  footer .fNav {
    text-align: left;
  }
  footer .fNav .item {
    border-bottom: 1px solid rgba(255,255,255,0.2);
    display: block;
    margin-left: 0;
  }
  footer .fNav .item a {
    display: block;
    padding: 0.8em 0;
  }
  footer .copyright {
    font-size: 1.2rem;
  }
	/* ----------------------------------
	PAGETOP
	---------------------------------- */
	.page-top{
		display: none;
		position: fixed;
		right: 16px;
		bottom: 16px;
		z-index: 10;
		line-height: 1.2;
		margin-bottom: 0;
		opacity: 0.9;
	}
	.page-top img {
		width: 40px;
		height: 40px;
	}
	.pc {display: none;}
	.sp {display: block;}
	.mb140_70{ margin-bottom: 70px;}
	.mb100_50{ margin-bottom: 50px;}
	.mb80_40{ margin-bottom: 40px;}
	.mb40_24{ margin-bottom: 24px;}
	.pb80_40{ padding-bottom: 40px;}
	.pb40_24{ padding-bottom: 24px;}
	.btn{width:80%; margin: auto;}
	.btn{font-size: 1.4rem;}
}
/* max-width:400px
-------------------------------------------------- */
@media only screen and (max-width: 460px) {
	input[type="button"],input[type="submit"],input[type="reset"] {
		width: 60%;
	}
  header .logo-area{
    width: 90px
  }
  header .logo-area img {
		width: 80px;
		margin-bottom: 4px;
	}
  header .head-info a img{
    width: 40px;
    height: auto;
  }
	.top-voice li{
		display: block;
	}
	.top-voice_prof{
		width: 100%;
		margin: 0 auto;
		margin-bottom: 16px;
	}
	.top-voice_prof img{
		max-width: 40%;
	}
	.top-voice_text-area{
		width: 100%;
		margin: 0;
    margin-top: 20px
	}
	.top-voice_text-area:after {
		display: none;
	}
  .top-voice_text-area :after {
    top: -50px; 
    left: 50%;
    border: 30px solid transparent;
    border-bottom: 40px solid #edf1ee;
    transform: translateX(-50%)
  }
  /* bottom-contact */
  .bottom-contact{
    padding: 40px 0
  }
	/* 施術情報 */
	.box-ttl01 span,
	.box-ttl02 span{
		margin-bottom: 24px;
	}
	.CEN_spTL {text-align: left;}
}


