@charset "UTF-8";

/*
Theme Name: Wavy		
Author: Aimi Kinjo
Version: 1.0
*/

html{width:100%;height:100%; }body,div{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}
q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}/* sup{vertical-align:text-top} */sub{vertical-align:text-bottom}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;font-size:100% ;outline: none;}legend{color:#000}#yui3-css-stamp.cssreset{display:none}
* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; }

html,body { width:100%; color:#222222; /* font-family: "游ゴシック", "Yu Gothic", YuGothic; */ font-family: "Noto Sans JP", sans-serif;
 display: flex; flex-direction: column;}
.cf { zoom: 1; } .cf:before,.cf:after { content: ""; display: table; } .cf:after { clear: both; }


/* ------------------------------小見出し属性------------------------------　*/
h1 , h2 ,h3 ,h4 ,h5 { margin:0; padding:0; line-height:1.7; font-weight:normal;}
h1 { font-size:22px; }
h2 { font-size:27px; margin:0 0 40px 0; line-height:1.5; }
h2 img { margin:0 auto; }
h3 { font-size:30px; margin:0 0 40px 0; }
h4 { font-size:20px; text-align:left; }

@media screen and (max-width:766px){
	h1 { font-size: 20px; }
	h2 { font-size:1.8rem; margin:0 0 40px 0; }
	h3 { font-size:18px; }
	h4 { font-size:16px; }
}

/* ------------------------------コンテンツエリア------------------------------　*/
p { font-size:14px; margin:0; padding:0; line-height:1.8; display:block; text-align: justify;text-justify: inter-ideograph;}
a { text-decoration:none; color: #222222;}
a:hover,a:active { text-decoration:none;cursor: pointer; opacity: 0.7; transition: 0.5s;}
ul,ol {margin:0; padding:0; }
li { margin:0; padding:0; }
img,figure { max-width:100%; height:auto; display:block; margin: 0 auto;}
img.center,.aligncenter { margin:0 auto; display:block; }
img.left { float:left; margin:0 30px 30px 0; }
img.right { float:right; margin:0 0 30px 30px; }
img.photo00 { background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
img.photo-left { transform:rotate(-4deg); -moz-transform:rotate(-4deg); -webkit-transform:rotate(-4deg); background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
img.photo-right { transform:rotate(4deg); -moz-transform:rotate(4deg); -webkit-transform:rotate(4deg); background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
.bold { font-weight:bold; }
.underline { text-decoration:underline; font-weight:bold; }
.red { color:#ff0000; font-weight:bold; }
.red_underline { background:linear-gradient(transparent 60%, #ff9999 60%); }
.yellow { color:#000000; font-weight:bold; background:linear-gradient(transparent 60%, #ffff00 60%); }
.center { text-align:center; }
.big { font-size:20px; line-height:150%; }
.ma00 { margin-top:0 !important; }
.ma10 { margin-top:10px !important; }
.ma20 { margin-top:20px !important; }
.ma30 { margin-top:30px !important; }
.ma50 { margin-top:50px !important; }
.ma70 { margin-top:70px !important; }
.ma100 { margin-top:100px !important; }
.space { padding:50px 0 0 0; }
.space100 { padding:100px 0 0 0; }
.align_left { text-align:left; }
.align_right { text-align:right; }
.align_center { text-align:center; }
.em {font-weight: bold;}

@media screen and (max-width:768px){
	p {/*  font-size:14px;  */font-size: 3.6vw;}
	img.left , img.right  { float:none; margin:0 auto 20px auto; display:block; }
	img.left_sm { float:left; }
	.big { font-size:16px; }
}

iframe { width:100%; }

.pc { display:block!important; }
.sp { display:none!important; }
@media screen and (max-width:766px){
	.pc { display:none!important; }
	.sp { display:block!important; }
}

/* ------------------------------共通------------------------------　*/
article {width:100%; background:#ffffff; }
section {width:100%; margin:0 auto;}
.inner {width: 90%; max-width:1000px; padding:100px 0; margin: 0 auto; position: relative;}
strong {font-weight: bold;}

@media screen and (max-width: 966px) {
	.inner {padding:60px 0; }
}

/* ------------------------------ヘッダー部分------------------------------　*/
html { overflow:auto; }

/* ------------------------------グローバルナビゲーション------------------------------　*/
nav#header-nav { position:relative; clear:both; width:600px; height:0; margin:0 0 0 400px; padding:0; z-index:999; display:none; }
nav#header-nav ul { position:absolute; width:100%; margin:0; padding:0; top:40px; }
nav#header-nav ul li { list-style:none; width:16.66%; float:left; margin:0; padding:0; text-align:center; }
nav#header-nav ul li:first-child {  }
nav#header-nav ul li a{ height:60px; color:#ffffff; display:block; margin:0; padding:0; font-size:14px; line-height:150%; }
nav#header-nav ul li a:before { padding-right:5px }
nav#header-nav ul li a:hover{ text-decoration:none; }

/* ------------------------------グローバルナビゲーション（モバイル）------------------------------　*/
#check-menu,#btn-menu { display:none; }
.logo_sp { display:none; }
@media screen and (max-width:768px){
	.logo_sp { display:block; position:absolute; top:16px; left:10px; width:150px; }
	nav#header-nav { background:rgba(0,0,0,0.6); width:100%; height:auto; margin:0; position:fixed; top:0; display:block; }
	nav#header-nav a { text-decoration:none; }
	#btn-menu { width:60px; height:60px; display:block; background:url(images/mobile.svg) no-repeat; color:#ffffff; float:right; }
	#menu-nav { display:none; list-style:none; }
	nav#header-nav ul { width:100%; background:none; top:60px; left:0; }
	nav#header-nav ul li { width:50%; text-shadow:none; border:none; padding:0; text-align:left; padding:0; }
	nav#header-nav ul li:last-child { width:50%; }
	nav#header-nav ul li a { display:block; height:50px; background:rgba(0,0,0,0.6); color:#ffffff!important; padding:15px 20px 0  20px; font-size:12px; }
	nav#header-nav ul li a:before { content:none; padding-right:0; }
	nav#header-nav ul li a:hover { background:rgba(0,0,0,0.8); border:none; }
	nav#header-nav ul li a:before { font-family:"Font Awesome 5 Free"; font-weight:900; padding-right:10px; }
	nav#header-nav ul li:nth-child(1) a:before { content:'\f015'; }
	nav#header-nav ul li:nth-child(2) a:before { content:'\f0c0'; }
	nav#header-nav ul li:nth-child(3) a:before { content:'\f0cb'; }
	nav#header-nav ul li:nth-child(4) a:before { content:'\f03e'; }
	nav#header-nav ul li:nth-child(5) a:before { content:'\f1ad'; }
	nav#header-nav ul li:nth-child(6) a:before { content:'\f0e0'; }
	nav#header-nav ul li:nth-child(5) { padding-bottom:10px; }
	nav#header-nav ul li:nth-child(6) { padding-bottom:10px; }
	#btn-menu:hover, #menu-nav li a:hover { background:url(images/mobile.svg) no-repeat; }
}

/* ------------------------------プレースホルダーの色・サイズ指定------------------------------　*/
input::-webkit-input-placeholder {color:#ccc; font-size:14px; }
input:-moz-placeholder {color:#ccc; font-size:14px; }
textarea::-webkit-input-placeholder {color:#ccc; font-size:14px; }
textarea:-moz-placeholder {color:#ccc; font-size:14px; }

/* ------------------------------コンタクトフォーム７------------------------------　*/
form {  }
div.wpcf7 { display:block; width:100%; margin:0 auto!important; box-shadow:none; background:transparent; }
div.wpcf7 br { display:none; }

@media screen and (max-width:768px){
	div.wpcf7 { width:100%; }
}

/* １列の場合 */
div.wpcf7 ul li { padding:30px 0 0 0; margin:0; font-size:16px; line-height:2; color:#455A64; }
div.wpcf7 ul li:first-child { padding:0 0 0 0!important; }
div.wpcf7 ul.question li { padding:80px 0 0 0; margin:0; font-size:16px; line-height:2; color:#455A64; }
div.wpcf7 ul.question li:first-child { padding:0 0 0 0!important; }
div.wpcf7 ul.question li:before { content:'Q,'; padding-right:10px; font-size:26px; color:#ED1E79; font-weight:bold; }

/* ２列の場合 */
div.wpcf7 dl{ border-top:none; width:100%; }
div.wpcf7 dl dt { clear:left; float:left; width:30%; /*border-top: 1px dotted #cccccc;*/ padding:10px 0; font-size:14px; }
div.wpcf7 dl dd { margin-left:30%; /*border-top: 1px dotted #cccccc;*/ padding:10px 0; }
div.wpcf7 dl dd span { font-size:12px; color:#666666; line-height: 4; /*width: 180px;*/ }

@media screen and (max-width:768px){
	div.wpcf7 dl dt { float:none; width:100%; padding-bottom:0; }
	div.wpcf7 dl dd { margin:0; border:none;}
}


.wpcf7-captchac { border:1px solid #ccc; }
/* エラー個所をわかりやすく表示 */
.wpcf7 .wpcf7-not-valid { background: #ffb6c1; display: table-footer-group;}
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1;}
/* 必須赤色表示 */
.wpcf7 .required { color: #000000;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}
select { background:#ffffff; border:1px solid #cccccc; border-radius:3px; color:#0C2245; font-size:14px; height:40px; line-height:30px; text-align:left; text-indent:5px; vertical-align:middle; width:100%; }

/* 必須or任意 */
.hissu,
.nini { color:#ffffff; margin:0 0 0 5px; padding:3px 7px; font-size:10px; font-weight:bold; border-radius:3px; }
.hissu { background:#D8544F; }
.nini { background:#78919C; }
::placeholder { color:#999999; }

.time { width:60px!important; }
.time02 { width:100px!important; }
.postal-code { width:60%!important; }

/* ------------------------------送信ボタン------------------------------　*/
input[type="submit"] { -webkit-appearance:none; margin:0 auto; position: relative;  outline: none;}
/*input.wpcf7-submit{ background:#009933; display:block; font-size:24px!important; color:#000000; width:100%!important; height:110px; border-radius:55px!important; margin:0 auto; border:none!important; color:#ffffff; position: relative; outline: none; cursor: pointer;}*/

/* ------------------------------ページトップへ戻る------------------------------　*/
#pageTop { position:fixed; bottom:20px; right:20px;}
#pageTop a { display:block; z-index:999; margin:0; padding:0; width:60px; height:60px; background:url(img/top.png) no-repeat 0 0; }
#pageTop a:hover { text-decoration:none; opacity:0.7; }
@media screen and (max-width:768px){
	#pageTop , #pageTop a { display:none; }
}

/* ------------------------------グローバルナビ上部固定------------------------------　*/
.fixed { position:fixed; top:0; width:100%; z-index:10000; }
@media screen and (max-width:967px){
.fixed { position:static; }
}

/* ------------------------------ページ下部固定CTA_SP------------------------------　*/
#buttonTow , #buttonTow a { display:none; }
@media screen and (max-width:966px){
#buttonTow { position:fixed; bottom:0; background:rgba(0,0,0,0.5); width:100%; height:auto; z-index:1000; padding: 5px 5px;}
#buttonTow ul {display: flex;}
#buttonTow ul li {width: calc(100%); position: relative;}
#buttonTow ul li i {position: absolute; top: 50%; right: 2px;
    -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
#buttonTow #box01 {background: #fff; color: #0095f3;}
#buttonTow #box02 {background: #0095f3;}
#buttonTow #box03 {background: #222;}
#buttonTow a {display: block; text-align: center; font-size: 14px; color: #ffffff; font-weight: bold; height: 100%; height: 50px; position: relative;
  display:-webkit-box; display:-ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center;  align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
    
/*
#buttonTow a:after {
	font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: 600;
    position: absolute;
    top: 50%;
    right: 0px;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
} 
*/
    
#buttonTow a img { margin:0 auto; padding:0; }
#buttonTow a:hover { text-decoration:none; opacity:0.7; }
}

/* ------------------------------ページ下部固定CTA_PC------------------------------　*/
#buttonPc { position:fixed; bottom:0; width:100%; height:auto; z-index:1000; background:#f08300; }
#buttonPc a#pc_box { display:block; width:100%; height:auto; color:#ffffff; padding:15px 0; text-align:center; font-size:16px; }
 #buttonPc a:hover { text-decoration:none }

@media screen and (max-width:766px){
	#buttonPc { display:none; }
	#buttonPc a#pc_box { display:none; }
}

/* ------------------------------アコーディオン------------------------------　*/
/*
dl.accordion , .accordion dt, .accordion dd { margin:0; padding:0; }
dl.accordion { margin:20px 0; padding-bottom:20px; border-bottom:1px dotted #000000; display: block;}
.accordion dt { display:block; width:100%; height:auto; line-height:1.4; cursor:pointer; margin: 0;display: flex; position: relative; padding-right: 10%; }
.accordion dt:after { font-family:"Font Awesome 5 Free"; content:'\f107'; font-weight:900; position: absolute; right: 0; top: 50%; right: 0%;
-ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);  color: #0370f1;}
.accordion dt.close { box-shadow:none }
.accordion dt.close:after { content:'\f106'; }
.accordion dd { width:100%; height:auto; display:none; margin:0; padding:30px 30px 10px 45px; }
.accordion dd p { color:#000000; }
.accordion dd img { border-radius:20px; border:3px solid #000000; box-shadow:6px 6px rgba(0,0,0,0.3); margin:0 0 30px 0;}
.accordion br { display:inline; }
.accordion dt:before { content:'Q.'; font-size:20px;margin-right:20px; color: #0370f1;}
.accordion dd:before { content:'A.'; font-size:20px;margin-right:20px; color: #13b6d0; font-weight: bold;}

@media screen and (max-width:768px){
	dl.accordion { font-size:14px; }
	.accordion dd p { font-size:14px; }
}
*/


.fadein { opacity:0; transform:translate(0, 50px); transition:all 300ms; }
.fadein.scrollin { opacity:1; transform:translate(0, 0); }
.fadein02 { transform:translate(0, -50px); transition:all 1000ms; }

/* ------------------------------スクロールを促すアニメーション------------------------------　*/
a.scroll { position:absolute; top:240%; left:50%; z-index:999; display:inline-block; -webkit-transform:translate(-50%,-50%); -moz-transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -o-transform:translate(-50%,-50%); transform:translate(-50%,-50%); text-decoration:none; color:#ffffff; font-size:12px; padding-top:80px; }
a.scroll span { position:absolute; top:0; left:50%; width:10px; height:10px; margin-left:-5px; border-left:1px solid #fff; border-bottom:1px solid #fff; -webkit-transform:rotate(-45deg); transform:rotate(-45deg); -webkit-animation:sdb 2s infinite; animation:sdb 2s infinite; opacity:0; box-sizing:border-box; }
a.scroll span:nth-of-type(1) {-webkit-animation-delay:0s; animation-delay:0s; }
a.scroll span:nth-of-type(2) {top:16px; -webkit-animation-delay:.15s; animation-delay:.15s; }
a.scroll span:nth-of-type(3) {top: 32px; -webkit-animation-delay:.3s; animation-delay:.3s; }
@-webkit-keyframes sdb { 0% {opacity:0; } 50% {opacity:1; } 100% {opacity:0; } }
@keyframes sdb {0% {opacity:0; } 50% {opacity:1; } 100% {opacity:0; } }
@media screen and (max-width:768px){a.scroll { top:160%; } }

/* ------------------------------ ボタンアニメーション------------------------------　*/
.fill:hover,
.fill:focus {box-shadow: inset 0 0 0 2em var(--hover); }
.pulse:hover,
.pulse:focus {-webkit-animation: pulse 1s; animation: pulse 1s; box-shadow: 0 0 0 2em rgba(255, 255, 255, 0); }
@-webkit-keyframes pulse {
  0% { box-shadow: 0 0 0 0 var(--hover); }
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 var(--hover); }
}
.pulse {--color: #009efd; --hover: #2af598; border-radius:50px }
.pulse {color: var(--color); transition: 0.25s; }
.pulse:hover, .pulse:focus {border-color: var(--hover); color: #fff; }

/* ------------------------------詳しく見るのボタンアニメーション------------------------------　*/
.pulse02:hover,
.pulse02:focus {-webkit-animation: pulse 1s; animation: pulse 1s; box-shadow: 0 0 0 2em rgba(255, 255, 255, 0); }
@-webkit-keyframes pulse {
  0% { box-shadow: 0 0 0 0 var(--hover); }
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 var(--hover); }
}
.pulse02 {--color: #37414f; --hover: #37414f; }
.pulse02 {color: var(--color); transition: 0.25s; }
.pulse02:hover, .pulse02:focus {border-color: var(--hover); }

/* ------------------------------詳しく見るのボタンアニメーション------------------------------　*/
.pulse03:hover,
.pulse03:focus {-webkit-animation: pulse 1s; animation: pulse 1s; box-shadow: 0 0 0 2em rgba(255, 255, 255, 0); }
@-webkit-keyframes pulse {
  0% { box-shadow: 0 0 0 0 var(--hover); }
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 var(--hover); }
}
.pulse03 {--color: #ffffff; --hover: #ffffff; }
.pulse03 {color: var(--color); transition: 0.25s; }
.pulse03:hover, .pulse02:focus {border-color: var(--hover); }

/* ------------------------------フェードインアニメーション------------------------------　*/
.sa {opacity: 0; transition: all .5s ease; } /* ノーマル */
.sa.show {opacity: 1; transform: none; } /* ノーマル */
.sa-lr {transform: translate(-100px, 0); } /* 右から */
.sa-rl {transform: translate(100px, 0); } /* 左から */
.sa-up {transform: translate(0, 100px); } /* 下から */
.sa-down {transform: translate(0, -100px); } /* 上から */
.sa-scaleUp {transform: scale(.5); } /* 縮小→拡大 */
.sa-scaleDown {transform: scale(1.5); } /* 拡大→縮小 */
.sa-rotateL {transform: rotate(180deg); } /* 左回転 */
.sa-rotateR {transform: rotate(-180deg); } /* 右回転 */

/* ------------------------------ふわふわ------------------------------　*/
@keyframes horizontal {
    0% { transform:translateX( -5px); }
  100% { transform:translateX(  0px); }
}
@keyframes vertical {
    0% { transform:translateY(-5px); }
  100% { transform:translateY(  0px); }
}
img.huwahuwa { animation: horizontal 2s ease-in-out infinite alternate; }
img.huwahuwa { animation: vertical 2s ease-in-out infinite alternate; }
img.huwa01 { animation-duration: 1.1s}
img.huwa02 { animation-duration: 1.3s}
img.huwa03 { animation-duration: 1.5s}