@charset "utf-8";

/* RESET
---------------------------------------- */
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%; vertical-align:baseline; background:transparent;}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}

ul,ol {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; outline:none;}

del {text-decoration:line-through;}

abbr[title], dfn[title] {border-bottom:1px dotted; cursor:help;}

table {border-collapse:collapse; border-spacing:0;}

input, select {vertical-align:middle;}

img {vertical-align:bottom; border:none; font-size:0; line-height:0;}

em {font-style:normal;}

body {-webkit-text-size-adjust:none;}

address {font-style:normal;}

* {box-sizing: border-box;}

/*
 *	COMMON CLASS
 *
 *------------------------------------*/

body {font-size: 1.6vw; line-height: 1.8;}

sup {font-size: 0.5em; vertical-align: super;}

.tac {text-align: center;}

.error {color: #F00; font-weight: bold;}

/* 
 * 共通レイアウト
 * ------------------------- */

header {position: fixed; left: 0; top: 0; z-index: 9999; width: 100%; height: 8vw; background: rgba(255,255,255,0.8)}
.header-inner {width: 100vw; margin: 0 auto;}
.header-logo {float:left;}
.header-logo img {width: 17.5vw;}
.header-nav {float: right;}
.header-nav-item {float: left;}
.header-nav-item a {display: block; width: 12vw; height: 8vw; text-align: center; line-height: 8vw; color: #000; text-decoration: none;}
.header-nav-item a:hover {background: rgba(255,255,255,0.2);}
.header-toggle-sp-nav {display: none;}
.header-sp-nav {display: none;}

.footer-inquiry {padding-bottom: 5vw;}
.footer-inquiry::before {content: ""; display: block; width: 100%; height: 2px; background: linear-gradient(to right, #91d1e5, #ef9d12);}
.footer-inquiry-title {position: relative; width: 40vw; height: 6vw; margin: -3vw auto 5vw;}
.footer-inquiry-title h2 {position: absolute; left: 2px; top: 2px; width: 39.6vw; height: 5.6vw; background: #FFF; border-radius: 2.8vw; text-align: center; line-height: 5.6vw; font-size: 2vw; font-weight: normal; font-family: serif;}
.footer-inquiry-title::before {content: ""; position: absolute; left: 0; top: 0; width: 40vw; height: 6vw; background: linear-gradient(to bottom, #91d1e6, #ef9d12); border-radius: 3vw;}
.footer-inquiry-inner {width: 76vw; margin: 0 auto;}
.footer-inquiry-inner::after {content: ""; display: block; clear: both;}
.footer-inquiry-content {float: left; width: 38vw; text-align: center;}
.footer-inquiry-content-address {font-size: 1.4vw;}
.footer-inquiry-content-phone {display: inline-block; padding-left: 4vw; font-size: 3vw; font-weight: bold; background: url('./images/icon-phone.png') 0 50% no-repeat; background-size: 3vw 3vw; color: #000; text-decoration: none;}
.footer-inquiry-link {float: left; width: 38vw; text-align: center;}
.footer-inquiry-link-button {display: inline-block; width: 30vw; height: 7vw; padding: 2vw 2vw 2vw 6vw; line-height: 3vw; font-size: 1.8vw; color: #FFF; text-decoration: none; background: #ed9e16 url('./images/icon-mail.png') 3vw 50% no-repeat; background-size: 2vw 1.6vw; border-radius: 1vw;}

.footer-branding {padding: 3vw; background: #74bca5; text-align: center; color: #FFF;}
.footer-branding-logo {margin-bottom: 1vw;}
.footer-branding-logo img {width: 20vw;}
.footer-branding-catch {margin-bottom: 3vw; font-size: 1.4vw; letter-spacing: 7px;}

.button01 {display: inline-block; width: 30vw; height: 6vw; padding: 2vw 5vw; text-align: center; line-height: 2vw; border: 1px solid #74bca5; border-radius: 5px; background: #FFF url('./images/icon-arrow-r.png') 3vw 50% no-repeat; color: #74bca5; text-decoration: none;}


/* 
 * HOME
 * ------------------------- */

 .home-main {position: relative; width: 100vw; height: 50vw;}
 .home-main img {display: block; position: absolute; left: 0; top: 0; z-index: 1; width: 100%; height: auto;}
 .home-main img.active {z-index: 2;}
 .home-main-sp {display: none;}

.home-section01 {height: 69vw; background: url('./images/home-section01-bg.jpg') 50% 50%; background-size: cover;}
.home-section01-inner {display: flex; width: 100vw; margin: 0 auto;}
.home-section01-image {width: 30vw; padding: 3vw 5vw 1vw;}
.home-section01-image img {width: 22.7vw;}
.home-section01-content {width: 70vw; padding: 12vw 5vw;}
.home-section01-content-title {margin-bottom: 5vw; text-align: center; font-size: 3vw; font-family: serif;}
.home-section01-content-description {margin-bottom: 5vw; font-size: 1.6vw;}
.home-section01-content-link {text-align: center;}

.home-section02 {padding: 7vw 0;}
.home-section02-inner {width: 100vw; margin: 0 auto;}
.home-section02-blocks {display: flex; justify-content: space-between; margin-bottom: 6vw;}
.home-section02-block {flex-basis: 30vw; position: relative; padding-top: 7vw;}
.home-section02-block::before {content: ""; position: absolute; left: 8vw; top: 0; z-index: 1; width: 14vw; height: 14vw; border-radius: 7vw; background: linear-gradient(to bottom, #91d1e6, #ee9d14);}
.home-section02-block::after {content: ""; position: absolute; left: 8.1vw; top: 1px; z-index: 2; width: 13.8vw; height: 13.8vw; border-radius: 6.9vw; background: #FFF;}
.home-section02-block-title {position: absolute; left: 8.1vw; top: 1px; z-index: 4; width: 13.8vw; height: 13.8vw; border-radius: 6.9vw; background: rgba(255,255,255,0.5);}
.home-section02-block-title span {display: block; position: absolute; top: 50%; width: 100%; text-align: center; transform: translateY(-50%); line-height: 3vw; font-size: 3vw; font-family: serif; font-weight: normal;}
.home-section02-block-image {position: relative; z-index: 3; margin-bottom: 2vw; text-align: center;}
.home-section02-block-image img {width: 26vw;}
.home-section02-link {text-align: center;}

.home-section03 {padding: 5vw 0; background: linear-gradient(to right, #ecf6f7, #fbf2e2);}
.home-section03-inner {width: 100vw; margin: 0 auto;}
.home-section03-block {margin-bottom: 3vw; padding: 5vw; background: #FFF; border-radius: 5px;}
.home-section03-block:last-child {margin-bottom: 0;}
.home-section03-block::after {content: ""; display: block; clear: both;}
.home-section03-block-01-image {float: left; width: 25vw;}
.home-section03-block-01-image img {width: 25vw;}
.home-section03-block-01-content {float: right; width: 60vw;}
.home-section03-block-02-image {float: right; width: 44vw;}
.home-section03-block-02-image img {width: 44vw;}
.home-section03-block-02-content {float: left; width: 41vw;}
.home-section03-block-content-title {position: relative; height: 6vw; margin-bottom: 2vw; padding-left: 8vw; line-height: 6vw; font-size: 3vw; font-family: serif; font-weight: normal;}
.home-section03-block-content-title::before {content: ""; position: absolute; left: 0; top: 0; z-index: 1; width: 6vw; height: 6vw; border-radius: 3vw; background: linear-gradient(to bottom, #91d1e6, #ee9d14);}
.home-section03-block-content-title span {position: absolute; left: 2px; top: 2px; z-index: 2; width: 5.6vw; height: 5.6vw; border-radius: 2.8vw; line-height: 5.6vw; text-align: center; background: #FFF;}
.home-section03-block-01-content p {margin-bottom: 3vw;}
.home-section03-block-01-content table {width: 100%;}
.home-section03-block-01-content th,
.home-section03-block-01-content td {padding: 7px 2vw; border: 1px solid #cccccc; vertical-align: middle;}
.home-section03-block-01-content th {width: 15vw; background: #eeeeee; font-weight: normal;}
.home-section03-link {clear: both; padding-top: 3vw; text-align: center;}

.home-section04::after {content: ""; display: block; clear: both;}
.home-section04-image {float: left; width: calc(50vw - 10vw); height: 59vw; background: url('./images/home-section04-image01.jpg'); background-size: cover;}
.home-section04-content {float: left; width: 60vw; padding: 5vw 0 5vw 5vw;}
.home-section04-content-title {margin-bottom: 3vw; text-align: center;}
.home-section04-content-title h2 {display: inline-block; padding: 5px; border-bottom: 1px solid #000; font-size: 1.8vw;}
.home-section04-content-description p {margin-bottom: 3vw;}
.home-section04-content-description table {width: 100%;}
.home-section04-content-description th,
.home-section04-content-description td {padding: 7px 2vw; border: 1px solid #cccccc; vertical-align: middle;}
.home-section04-content-description th {width: 20vw; background: #eeeeee; font-weight: normal;}


/* 
 * 下層
 * ------------------------- */

.content-subpage {padding-top: 8vw;}
.page-title {margin: 0 1vw; height: 13vw; line-height: 13vw; text-align: center; background: linear-gradient(to right, #74bca5, #ed9e16); font-size: 3vw; letter-spacing: 1.5vw; color: #FFF; font-weight: normal; font-family: serif; border-radius: 1vw;}
.section-subpage {padding: 5vw 0 8vw; border-bottom: 1px solid #cccccc;}
.section-subpage:last-child {border-bottom: none;}
.section-subpage-inner {width: calc(100vw - 2vw); margin: 0 auto;}
.section-title {position: relative; margin-bottom: 3vw; padding: 1vw 0; font-size: 3vw; font-weight: normal; font-family: serif;}
.section-title span {display: inline-block; position: relative; top: -2px; margin-right: 1vw; padding: 0 1vw; line-height: 3vw; background: #74bca5; color: #fff; font-size: 2vw; border-radius: 0.5vw; vertical-align: middle;}
.section-title sub {font-size: 1.5vw;}
.section-title::after {content: ""; position: absolute; left: 0; bottom: 0; display: block; width: 100%; height: 2px; background: linear-gradient(to right, #74bca5, #ed9e16);}

.products-section01-block01 {float: left; width: 47vw;}
.products-section01-block02 {float: right; width: 47vw;}
.products-section01-block03 {clear: both; width: 55vw; margin: 0 auto; padding-top: 4vw;}
.products-section01-image {width: 100%; margin-bottom: 2vw;}
.products-section01-title {margin-bottom: 2vw; text-align: center; font-size: 3vw; font-weight: normal; font-family: serif;}
.products-section01 table {width: 100%;}
.products-section01 th {width: 45%; padding: 0.5vw 1vw; border: 1px solid #cccccc; background: #eeeeee;}
.products-section01 td {padding: 0.5vw 1vw; border: 1px solid #cccccc;}
.products-section01-block04 {padding-top: 6vw; text-align: center;}
.products-section01-block04 a {display: inline-block; width: 30vw; padding: 2vw 1vw; color: #fff; font-size: 1.6vw; background: #74bca5 url('./images/icon-arrow-w.png') 30px 50% no-repeat; background-size: 0.8vw 1.4vw; border-radius: 1vw; border: none; text-decoration: none;}

.products-section03-block {margin-bottom: 2vw; padding: 3vw 3vw 3vw 8vw; border: 1px solid #cccccc;}
.products-section03-block-question {position: relative; margin-bottom: 1vw; line-height: 3vw; font-size: 2vw; font-weight: bold;}
.products-section03-block-question span {position: absolute; left: -5vw; top: 0; display: block; width: 3vw; height: 3vw; text-align: center; background: #74bca5; color: #fff; font-family: serif; border-radius: 3px;}
.products-section03-block-answer {}

.products-section04-blocks {display: flex; justify-content: space-between; margin-bottom: 3vw;}
.products-section04-block {flex-basis: 47vw;}
.products-section04-block-image {margin-bottom: 3vw;}
.products-section04-block-image img {width: 100%;}
.products-section04-note {position: relative; padding-left: 3vw;}
.products-section04-note::before {content: "※"; position: absolute; left: 0;}

.data-section01 p {margin-bottom: 3vw;}
.data-section01-block {display: flex; margin-bottom: 3vw;}
.data-section01-block-title {flex-basis: 12vw;}
.data-section01-block-title h3 {width: 10vw; padding-bottom: 0.5vw; text-align: center; font-size: 2vw; border-bottom: 1px solid #000;}
.data-section01-block-body {flex-basis: 88vw;}
.data-section01-block-body h4 {margin-bottom: 1vw;}
.data-section01-block-body table {width: 100%; margin-bottom: 1vw; table-layout: fixed;}
.data-section01-block-body th {padding: 0.5vw 1vw; border: 1px solid #cccccc; background: #eeeeee;}
.data-section01-block-body td {padding: 0.5vw 1vw; border: 1px solid #cccccc; text-align: center;}

.case-section01-blocks {display: flex; flex-wrap: wrap; justify-content: space-between;}
.case-section01-block {flex-basis: 47vw; margin-bottom: 5vw;}
.case-section01-block-image {width: 26vw; margin: 0 auto 2vw;}
.case-section01-block-image img {width: 100%;}
.case-section01-block-title {position: relative; margin-bottom: 2vw; text-align: center;}
.case-section01-block-title h2 {font-size: 3vw; font-weight: normal; font-family: serif;}
.case-section01-block-title::before {content: ""; position: absolute; left: 0; top: -10vw; z-index: 1; width: 8vw; height: 8vw; border-radius: 4vw; background: linear-gradient(to bottom, #91d1e6, #ee9d14);}
.case-section01-block-title span {position: absolute; left: 2px; top: calc(-10vw + 2px); z-index: 2; width: calc(8vw - 4px); height: calc(8vw - 4px); padding-top: 1.3vw; border-radius: calc(4vw - 2px); background: #FFF; text-align: center; line-height: 2vw; font-family: serif; font-size: 1.6vw;}
.case-section01-block-title span em {display: block; line-height: 3vw; font-size: 3vw;}

.inquiry-section01-lead {margin-bottom: 5vw; line-height: 2;}
.inquiry-section01-lead em {font-weight: bold; color: #74bca5;}
.inquiry-section01-lead a {color: #74bca5;}
.inquiry-section01-phone {width: 60vw; margin: 0 auto 5vw; padding: 1.5vw; background: linear-gradient(to right, #ecf6f7, #fbf2e2);}
.inquiry-section01-phone-inner {padding: 3vw 2vw 2vw; background: #ffffff; text-align: center;}
.inquiry-section01-phone-number {padding-left: 4vw; display: inline-block; color: #000; text-decoration: none; font-weight: bold; font-size: 3vw; background: url('./images/icon-phone.png') 0 50% no-repeat; background-size: 3vw 3vw;}
.inquiry-section01-form {width: 70vw; margin: 0 auto 5vw;}
.inquiry-section01-form-row {display: flex; margin-bottom: 2vw;}
.inquiry-section01-form-label {flex-basis: 20vw; padding-top: 1vw; font-weight: bold;}
.inquiry-section01-form-label .required {display: inline-block; position: relative; top: -1px; margin-left: 1vw; padding: 0 0.5vw; line-height: 2vw; background: #ff0000; color: #ffffff; font-size: 1.4vw; border-radius: 0.3vw;}
.inquiry-section01-form-control {flex-basis: 50vw;}
.inquiry-section01-form-control input {width: 100%; padding: 1.5vw; border: 1px solid #cccccc;}
.inquiry-section01-form-control input[type="number"] {width: 10vw; padding: 1.5vw; border: 1px solid #cccccc;}
.inquiry-section01-form-control textarea {width: 100%; height: 20vw; padding: 1.5vw; border: 1px solid #cccccc;}
.inquiry-section01-form-control-part {display: flex; margin-bottom: 1vw;}
.inquiry-section01-form-control-part-label {flex-basis: 10vw; padding-top: 1vw;}
.inquiry-section01-form-control-part-control {flex-basis: 40vw;}
.inquiry-section01-form-confirm {flex-basis: 50vw; padding-top: 1vw;}
.inquiry-section01-form-control-part-confirm {flex-basis: 40vw; padding-top: 1vw;}
.inquiry-section01-button {margin-bottom: 3vw; text-align: center;}
.inquiry-section01-button button,
.inquiry-section01-button a {display: inline-block; width: 30vw; padding: 2vw 1vw; color: #fff; font-size: 1.6vw; background: #74bca5 url('./images/icon-arrow-w.png') 30px 50% no-repeat; background-size: 0.8vw 1.4vw; border-radius: 1vw; border: none; text-decoration: none;}
.inquiry-section01-back {margin-bottom: 3vw; text-align: center;}
.inquiry-section01-back a {display: inline-block; width: 30vw; padding: 2vw 1vw; color: #fff; font-size: 1.6vw; background: #888888; border-radius: 1vw; border: none; text-decoration: none;}

.notation-section01 table {width: 100%;}
.notation-section01 th {width: 30%; padding: 1vw 2vw; border: 1px solid #CCC; background: #EEE; text-align: left;}
.notation-section01 td {padding: 1vw 2vw; border: 1px solid #CCC; text-align: left;}

* ------------------------- */

