@charset "utf-8";
/*
Theme Name:satuden2021
Description:satuden2021
Version:1.0
*/
/* ------------------------------------------------------------------------------------------------
	スタイルシート初期化
--------------------------------------------------------------------------------------------------- */
* { margin:0; padding:0; box-sizing:border-box; }
article,aside,canvas,details,figcaption,figure,header,footer,main,menu,nav,section,summary { display:block; }
body,input,textarea,select,button { font-family:'Noto Sans JP','メイリオ',Meiryo,sans-serif; font-display:block; font-weight:500; font-display:block; font-weight:400; }
/* -apple-system,BlinkMacSystemFont, */
body,input,textarea,select,a { color:#201715; }
body { font-size:16px; line-height:1.8em; background:#fff; -webkit-text-size-adjust:none; }
table { border-collapse:collapse; border-spacing:0; } ol,ul { list-style:none; }
h1,h2,h3,h4,h5,h6 { font-size:100%; } strong,.strong { font-weight:700; }
address,caption,cite,code,dfn,em,strong,th,var,.normal { font-style:normal; font-weight:normal; }
q:before,q:after { content:''; } abbr,acronym { border:0; } caption,th { text-align:left; }
input,textarea,select,button { font-size:100%; -webkit-appearance:none; appearance:none; }
input:focus, a:hover, a:active { outline:0; }
@keyframes onAutoFillStart { from {} to {} }
input:-webkit-autofill { animation-name:onAutoFillStart; transition: background-color 50000s ease-in-out 0s; }

img { max-width:100%; border:0; vertical-align:bottom; image-rendering:-webkit-optimize-contrast; image-rendering:crisp-edges; -ms-interpolation-mode:bicubic; image-rendering:optimizeQuality; }
a { outline:0; text-decoration:none; vertical-align:baseline; background:transparent; }
a, a img, a:before, a:after, input[type="submit"], .anime { -webkit-transition:all .4s ease; transition:all .4s ease; }
a:hover img { opacity:0.7; -webkit-opacity:0.7; }

.tel { font-family:'Oswald',sans-serif; font-weight:900; font-size:1em; text-decoration:none ! important; }
.tel:before { font-family:"Font Awesome 5 Free"; margin-right:7px; content:"\f879"; font-weight:900; font-size:0.7em; color:#6691be; }

.cfix:after { content:"."; display:block; height:0; font-size:0; clear:both; visibility:hidden; }
.cfix { display:inline-block; } * html .cfix { height:1%; } .cfix { display:block; }

/* ------------------------------------------------------------------------------------------------
	レイアウト
--------------------------------------------------------------------------------------------------- */
main, .inner { position:relative; }
#wrapper { position:relative; overflow:hidden; }
.inner, .inbox { max-width:100%; margin:0 auto; }
.inner { width:1000px; padding:0 50px; }
.box0 { width:auto; }    .box1400 { width:1400px; } .box1200 { width:1200px; }
.box1300 { width:1300px; }
.box1100 { width:1100px; } .box1000 { width:1000px; } .box910 { width:910px; } .box900 { width:900px; }
.box800 { width:800px; } .box700 { width:700px; } 	.box600 { width:600px; }
.box500 { width:500px; } .box550 { width:550px; } .box400 { width:400px; } .box300 { width:300px; }

header { position:fixed; left:0; right:0; top:0; height:95px; z-index:100; -webkit-transition:all 0.3s ease; transition:all 0.3s ease; }
header.scroll { -webkit-transition:all 2s ease; transition:all 2s ease; }
header:before { position:fixed; left:0; right:0; top:0; height:0; background:#fff; display:block; content:""; -webkit-transition:all 0.4s ease; transition:all 0.4s ease; }
header .mobile { cursor:pointer; display:block; position:absolute; top:-60px; right:0; width:60px; height:60px; line-height:60px; text-align:center; z-index:10; background:url(img/nav_open.jpg) no-repeat center center; background-size:cover; }


header .header-logo{margin: initial;}
header .logo { float:left; padding-left:40px; padding-top:25px; position:relative; z-index:5; }
header .img { display:block; width:240px; height:40px; position:relative; }
header .img:hover { opacity:0.7; -webkit-opacity:0.7; }
header .img:before, header .img:after { display:block; content:""; position:absolute; left:0; right:0; top:0; bottom:0; background:no-repeat center center; background-size:100%; }
header .img:before { background-image:url(img/logo.png); }
header .img:after { background-image:url(img/logo_sp.png); display:none; }

header .buttons { float:right; width:480px; height:100%; position:relative; z-index:5; }
header .btn { display:block; float:left; width:50%; height:100%; color:#fff; display:-webkit-box; display:-webkit-flex; display:flex; -webkit-box-pack:center; -webkit-justify-content:center; justify-content:center; -webkit-box-align:center; -webkit-align-items:center; align-items:center; }
header .btn1 { background:#6ca0ce; }
header .btn2 { background:#007c36; }
header .btn1 .box { font-size:18px; line-height:24px; letter-spacing:2px; font-weight:700; background:url(img/common_trouble.png) no-repeat left center; min-height:49px; padding-left:60px; padding-right:5px; }
header .tel { display:block; font-size:24px; line-height:1em; letter-spacing:1px; color:#fff; }
header .time { font-size:13px; line-height:22px; }
header .time:before { content:attr(data-pcbefore); }
header .time:after { content:attr(data-pcafter); }

nav { float:right; padding-right:40px; position:relative; z-index:1; }
nav li { float:left; margin-right:40px; }
/*nav li:last-child { display:none; }*/
nav a { display:block; color:#fff; font-size:15px; height:85px; line-height:85px; letter-spacing:2px; font-weight:600;  }
nav a.current { color:#fff; box-shadow:0 -7px 0 #fff inset; }
nav a:hover { opacity:0.7; -webkit-opacity:0.7; }

body.common { padding-top:85px; }
body.common header:before, header.follow:before { height:85px; }
body.common header nav a, header.follow nav a { color:#201715; }
body.common header nav a.current, header.follow nav a.current { color:#095D94; }

/* トップ画像
--------------------------------------------------------------------------------*/
/*.swiper-container { padding-top:46.666%; background:#007c36; position:relative; }*/
.swiper-container:after { position:absolute; display:block; content:""; left:0; right:0; top:0; height:200px;
	background: -webkit-linear-gradient(top, rgba(36,29,28,0.4) 0%, transparent 100%);
	background: linear-gradient(to bottom, rgba(36,29,28,0.4) 0%, transparent 100%);
}
.swiper-container .copy { position:absolute; left:10%; top:20%; z-index: 1;}
.swiper-container .line { margin-bottom:7px; }
.swiper-container .text { display:inline-block; font-size:02.7vw; line-height:1em; letter-spacing:5px; text-indent:0; color:#ff1d25; font-weight:700; padding:7px 0 10px; position:relative; }
.swiper-container .text1 { animation:topimgtext 1.6s linear; }
.swiper-container .text2 { animation:topimgtext 2.1s linear; }

@keyframes topimgtext { 0% { color:transparent; } 99% { color:transparent; } 100% { color:#fff; } }

.swiper-container .text:before {
    display: block;
/*    position: absolute;*/
    top: 0;
    bottom: 0;
    width: 0;
/*    background:#007c36;*/
/*    -webkit-transition: all 1.5s ease;*/
/*    transition: all 1.5s ease;*/
/*    animation: topimgback 2.1s linear;*/
/*    transform:translateX(300px);*/
    animation-name:bgLRextendAnime;
	animation-duration:.8s;
	animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #fff;/*伸びる背景色の設定*/
	opacity: 0.8;
}

@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	100% {
		transform-origin:left;
		transform:scaleX(1);
	}
}

.swiper-container .text:after { content:""; display:block; position:absolute; top:0; bottom:0; width:0; background:#fff; -webkit-transition:all 1.5s ease; transition:all 1.5s ease; }

.swiper-container .text:before { left:0; z-index:-1; }
.swiper-container .text:after { right:0; }
.swiper-container .text2:before { transition-delay:0.5s; }

.swiper-container .text:after { animation:topimgtextb 1s; animation-delay:1.5s; }
.swiper-container .text2:after { animation-delay:2s; }
@keyframes topimgtextb { 0% { width:100%; } 100% { width:0; } }

.swiper-container .text.child { transform:translateX(0); }
.swiper-container .text.child:before {  }
.swiper-container .text.send { transform:translateX(0); }
.swiper-container .text.send:before { width:100%; }

/*.swiper-container .shortcut { position:absolute; left:0; right:0; bottom:0;  }
.swiper-container .shortcut a { cursor:pointer; }

.swiper-container.scroll { transform:translate(0); opacity:1; -webkit-opacity:1; }*/
.swiper-container.common { padding-top:300px; background-size:110%; overflow:hidden; }
.swiper-container.common .pageimg { position:absolute; left:0; right:0; top:0; bottom:0; background:no-repeat center center; background-size:cover; animation:topimgcommon1 2s; transform:scale(1.1); }

.swiper-container.common .copy { top:20%; z-index:50; }
.swiper-container.common .text { font-size:45px; letter-spacing:5px; text-indent:5px; padding:7px 5px 10px; }
.swiper-container.common:after { height:100%; background:rgba(18,112,164,0.4); animation:topimgcommon2 2s; }

@keyframes topimgcommon1 { 0% { transform:scale(1); } 100% { transform:scale(1.1); } }
@keyframes topimgcommon2 { 0% { background:rgba(18,112,164,1); } 100% { background:rgba(18,112,164,0.4); } }

.swiper-container.common.send:after {  }
.swiper-container.common .eng { font-family:'Yellowtail',sans-serif; font-weight:500; font-style:normal; color:#fff; opacity:0.6; -webkit-opacity:0.6; font-size:120px; line-height:1em; }

.typing { position:relative; }
.typing:before, .typing:after {  height:1.5em; }
.typing:before { content:attr(data-text); color:transparent; padding-right:0.5em; }
.typing:after { content:attr(data-text); position:absolute; left:0; top:0; bottom:0; width:100%; overflow:hidden; animation:typing 2s; }
@keyframes typing { 0% { width:0; } 10% { width:0; } 100% { width:100%; } }

.sliders, .sliders .slide { position:absolute; left:0; top:0; right:0; bottom:0; }
.sliders { overflow:hidden; }
.sliders.child { -webkit-transition:all 5s ease; transition:all 5s ease; transform:translate(0); }
.sliders .slide { background:#ccc no-repeat center center; background-size:cover; -webkit-transition:all 2s ease; transition:all 2s ease; opacity:0; -webkit-opacity:0; }

.sliders .slide[data-state="current"] { opacity:1; -webkit-opacity:1; animation:slide1 10s; }
.sliders .slide[data-state="next"] { animation:slide2 10s; }
.sliders .slide[data-state="hide"] { animation:slide1 10s; }
@keyframes slide1 { 100% { transform:scale(1); transform:scale(1.15); } }
@keyframes slide2 { 0% { transform:scale(1); } 100% { transform:scale(1.1); } }

.sliderNavs { position:absolute; right:30px; bottom:-27px; width:200px; }
.sliderNavs .nav { display:block; width:30%; height:3px; background:#C9D8E4; margin-right:5%; float:left; cursor:pointer; -webkit-transition:all 0.3s ease; transition:all 0.3s ease; }
.sliderNavs .nav:last-child { margin-right:0; }
.sliderNavs .nav[data-state="current"] { background:#3370A4; pointer-events:none; }

#pannavi { color:#99999A; height:70px; line-height:70px; font-size:15px; letter-spacing:2px; white-space:nowrap; text-overflow:ellipsis; -webkit-text-overflow:ellipsis; }
#pannavi i { margin:0 10px 0 15px; opacity:0.7; -webkit-opacity:0.7; }
#pannavi i, #pannavi img { vertical-align:middle; }

.slick-prev:before, .slick-next:before { color:#fff; font-size:30px; }
.slick-next { right:30px; z-index:99; }
.slick-prev { left:25px; z-index:100; }
.slick-dots li.slick-active button:before, .slick-dots li button:before { color:#000; }
.slick-dots li { margin:0 2px; }


#topimg { padding-top:46.666%; background:#007c36; position:relative; }
#topimg:after { position:absolute; display:block; content:""; left:0; right:0; top:0; height:200px;
	background: -webkit-linear-gradient(top, rgba(231,0,0,0.4) 0%, transparent 100%);
	background: linear-gradient(to bottom, rgba(231,0,0,0.4) 0%, transparent 100%);
}
#topimg .copy { position:absolute; left:10%; top:44%; }
#topimg .line { margin-bottom:7px; }
#topimg .text { display:inline-block; font-size:03.1vw; line-height:1em; letter-spacing:10px; text-indent:10px; color:#fff; font-weight:700; padding:7px 0 10px; position:relative; }
#topimg .text1 { animation:topimgtext 1.6s linear; }
#topimg .text2 { animation:topimgtext 2.1s linear; }

@keyframes topimgtext { 0% { color:transparent; } 99% { color:transparent; } 100% { color:#fff; } }

#topimg .text:before, #topimg .text:after { content:""; display:block; position:absolute; top:0; bottom:0; width:0; background:#007c36; -webkit-transition:all 1.5s ease; transition:all 1.5s ease; }
#topimg .text:before { left:0; z-index:-1; }
#topimg .text:after { right:0; }
#topimg .text2:before { transition-delay:0.5s; }

#topimg .text:after { animation:topimgtextb 1s; animation-delay:1.5s; }
#topimg .text2:after { animation-delay:2s; }
@keyframes topimgtextb { 0% { width:100%; } 100% { width:0; } }

#topimg .text.child { transform:translateX(0); }
#topimg .text.child:before {  }
#topimg .text.send { transform:translateX(0); }
#topimg .text.send:before { width:100%; }

#topimg .shortcut { position:absolute; left:0; right:0; bottom:0;  }
#topimg .shortcut a { cursor:pointer; }

#topimg.scroll { transform:translate(0); opacity:1; -webkit-opacity:1; }
#topimg.common { padding-top:300px; background-size:110%; overflow:hidden; }
#topimg.common .pageimg { position:absolute; left:0; right:0; top:0; bottom:0; background:no-repeat center center; background-size:cover; animation:topimgcommon1 2s; transform:scale(1.1); }

#topimg.common .copy { position: absolute;
    top: 50%;
    left: 50%;
	transform: translate(-50%, -50%); z-index:50; }
#topimg.common .text { font-size:45px; letter-spacing:5px; text-indent:5px; padding:7px 5px 10px; }
#topimg.common:after { height:100%; background:rgba(231,0,0,0); animation:topimgcommon2 2s; }

@keyframes topimgcommon1 { 0% { transform:scale(1); } 100% { transform:scale(1.1); } }
@keyframes topimgcommon2 { 0% { background:#307d36; } 100% { background:rgba(231,0,0,0); } }
/* @keyframes topimgcommon2 { 0% { background:rgba(231,0,0,1); } 100% { background:rgba(231,0,0,0); } } */

#topimg.common.send:after {  }
#topimg.common .eng { font-family: 'Noto Sans', sans-serif;text-align: center;letter-spacing: 1rem;font-weight:700; font-style:normal; color:#fff; opacity:1.0; -webkit-opacity:1.0; font-size:45px; line-height:2em; }

.typing { position:relative; }
.typing:before, .typing:after {  height:1.5em; }
.typing:before { content:attr(data-text); color:transparent; padding-right:0.5em; }
.typing:after { content:attr(data-text); position:absolute; top: 40%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);  width:100%; overflow:hidden; animation:typing 2s; }
@keyframes typing { 0% { width:0; } 10% { width:0; } 100% { width:100%; } }

/* フッター
--------------------------------------------------------------------------------*/

.bottoms { padding:60px 0 70px; color:#000000; font-size:16px; line-height:1.4em; }
.bottoms .caption { font-weight:700; text-align:center; margin-bottom:40px; }
.bottoms .group { float:left; margin-right:60px; position:relative; }
.bottoms .group:after { display:block; position:absolute; content:""; background:#C2C2C2; width:1px; height:40px; right:-30px; top:0; }
.bottoms .info { letter-spacing:0.4px; }
.bottoms .phone { overflow:hidden; }
.bottoms .tel { float:left; margin-right:14px; font-size:36px; line-height:1em; letter-spacing:1px; }
.bottoms .time { overflow:hidden; margin-top:-4px; }

.links { background:#6c9fcd; padding:45px 0; position:relative; z-index:10; }
.links:before, .links:after { position:absolute; display:block; content:""; top:0; bottom:0; background:no-repeat; width:130px; max-width:100%; z-index:-1; }
.links:before { left:0; background-image:url(img/bottom_tube_1.png); background-position:left center; }
.links:after { right:0; background-image:url(img/bottom_tube_2.png); background-position:right center; }
.links a { display:block; position:relative; z-index:10; border-radius:5px; overflow:hidden; width:280px; max-width:100%; margin:0 auto; }
.copyright { color:#fff; /*padding:40px 20px;*/ font-size:16px; line-height:1.4em; letter-spacing:0.4px; text-align:center; }

/* ------------------------------------------------------------------------------------------------
	共通要素
--------------------------------------------------------------------------------------------------- */

/* タイポグラフィ
------------------------------------------------------------*/

.headline1, .headline2 { font-size:19px; line-height:1.4em; font-weight:700; letter-spacing:1px; }
.headline1 { background:#ddecfe; color:#1271a7; padding:15px 25px; margin-bottom:30px; }
.headline2:before { display:inline-block; content:""; width:20px; height:6px; background:#8eb5d6; margin-right:15px; vertical-align:middle; }
.headline2 { border-bottom:solid 1px #5097ba; padding-bottom:15px; margin-bottom:10px; }

.postline { border-left:solid 3px #007c36; color:#007c36; padding:0 0 0 20px; }
.postline .title { font-size:1.25em; line-height:1.6em; }

/* ブロック
------------------------------------------------------------*/
.container { padding:100px 0; }
.container2 { padding:70px 0; }
.container3 { padding:50px 0; }

.leftbox { float:left; margin:0 30px 10px 0; }
.rightbox { float:right; margin:0 0 10px 30px; }
.floatbox { overflow:hidden; }
.max500 { max-width:500px; } .max400 { max-width:400px; }
.max300 { max-width:300px; } .max200 { max-width:200px; }

.border { border:solid 1px #ccc; }
.border2 { border-width:2px; }
.border3 { border-width:3px; }

.white, .anchor-white a { color:#fff; }
.light, .anchor-light a { color:#d8e6f5; }
.dark, .anchor-dark a { color:#2f2420; }
.gray, .anchor-gray a { color:#666; }
.red, .anchor-red a { color:#e8091c; }
.blue, .anchor-blue a { color:#1271a7; }
a.anchors, .anchors a { color:#e8091c; text-decoration:underline; }
.anchor-opc a:hover, a.anchor-opc:hover, a.anchors:hover, .anchors a:hover { opacity:0.6; -webkit-opacity:0.6; }
.anchor-opc a:hover img, a.anchor-opc:hover img { opacity:1; -webkit-opacity:1; }

.bg-dark { background:#000; color:#fff; }
.bg-gray { background:#eee; }
.bg-laqua { background:#f2f9ff; }
.bg-aqua { background:#ddecfe; }
.bg-blue { background:#1c6394; }
.bg-white { background:#fff; }

.bg-tube-left, .bg-tube-right { background-repeat:no-repeat; }
.bg-tube-left { background-image:url(img/top_tube_bg.png); background-position:left top; }
.bg-tube-right { background-image:url(img/top_tube_bg2.png); background-position:right top; }

.inside-none   { padding: 0px; }	.next-none   { margin-bottom: 0px; }
.inside-nano   { padding: 5px; }	.next-nano   { margin-bottom: 5px; }
.inside-mini   { padding:10px; }	.next-mini   { margin-bottom:10px; }
.inside-small  { padding:15px; }	.next-small  { margin-bottom:15px; }
.inside-normal { padding:20px; }	.next-normal { margin-bottom:20px; }
.inside-middle { padding:30px; }	.next-middle { margin-bottom:30px; }
.inside-large  { padding:40px; }	.next-large  { margin-bottom:40px; }
.inside-wide   { padding:50px; }	.next-wide   { margin-bottom:50px; }
.inside-wide2   { padding:50px; }	.next-wide2   { margin-bottom:60px; }
.next-space   { margin-bottom:100px; }
.next-space2  { margin-bottom:200px; }

.left { text-align:left; } .center { text-align:center; } .right { text-align:right; }

.opc5 { opacity:0.5; -webkit-opacity:0.5; }
.opc7 { opacity:0.7; -webkit-opacity:0.7; }

.big0 { font-size:21px; line-height:1.35em; letter-spacing:0.5px; }
.big05 { font-size:28px; line-height:1.35em; letter-spacing:1px; }
.big1 { font-size:34px; line-height:1.5em; letter-spacing:1.2px; }
.small { font-size:15px; line-height:2em; letter-spacing:1px; }

.letter1 { letter-spacing:1px; } .letter2 { letter-spacing:2px; }
.letter3 { letter-spacing:3px; } .letter5 { letter-spacing:5px; text-indent:5px; }

/* リスト
------------------------------------------------------------*/
.floatlist > li { float:left; margin:0 2% 2% 0; }
.float2 > li { width:49%; } .float3 > li { width:32%; } .float4 > li { width:23.5%; }
.float2 > li:nth-child(2n), .float3 > li:nth-child(3n), .float4 > li:nth-child(4n) { margin-right:0; }
.float2 > li:nth-child(2n+1), .float3 > li:nth-child(3n+1), .float4 > li:nth-child(4n+1) { clear:both; }
.float2 > li:nth-last-child(-n+2), .float3 > li:nth-last-child(-n+3), .float4 > li:nth-last-child(-n+4) { margin-bottom:0; }

.marg4 > li { margin:0 4% 4% 0; }
.marg4.float2 > li { width:48%; } .marg4.float3 > li { width:30.666%; } .marg4.float4 > li { width:22%; }
.marg5 > li { margin:0 5% 5% 0; } .marg5.float3 > li { width:30%; }
.margs > li { margin:0 8% 4% 0; } .margs.float3 > li { width:27.77%; }

.list li { line-height:1.5em; margin-bottom:5px; text-indent:-1.6em; padding-left:1.6em; }
.list li:last-child { margin-bottom:0; }
.list li:before { margin-right:10px; }
.checklist li:before { font-family:"Font Awesome 5 Free"; content:"\f00c"; font-weight:900; }
.circlelist li { text-indent:-1.25em; padding-left:1.25em; }
.circlelist li:before { font-family:"Font Awesome 5 Free"; content:"\f111"; font-weight:900; font-size:10px; color:#27458b; }

/* テーブル
------------------------------------------------------------*/
.tbl { width:100%; }
.tbl-border { border-top:solid 1px #1c6394; }
.tbl-border th, .tbl-border td { border-bottom:solid 1px #dfdfdf; padding:15px 0; font-size:14px; line-height:1.7em; letter-spacing:1px; vertical-align:top; }
.tbl-border th { color:#224482; font-weight:700; }

.tbl-works { border-top:none; }
.tbl-works th, .tbl-works td { line-height:1.4em;  }
.tbl-works th:before { font-family:"Font Awesome 5 Free"; content:"\f111"; font-weight:900; font-size:10px; margin-right:10px; }
.tbl-works th { text-indent:-1.5em; padding-left:1.5em; width:170px; padding-right:20px; }


/* フォーム
------------------------------------------------------------*/
.tbl-form input, .tbl-form select, .tbl-form textarea { border:none; outline:none; }
.tbl-caption { background:#eee; font-size:1.1em; line-height:1.4em; font-weight:900; padding:15px 20px; }
.tbl-form { width:100%; margin-bottom:30px; }
.tbl-form th, .tbl-form td { border-bottom:solid 1px #ddd; padding:15px 0; }
.tbl-form tr:last-child th, .tbl-form tr:last-child td { border-bottom-width:0; }
.tbl-form th { vertical-align:top; width:220px; position:relative; padding-left:50px; padding-right:20px; }
.tbl-form th:before { content:"任意"; background:#aaa; color:#fff; position:absolute; width:40px; height:20px; line-height:20px; font-size:12px; text-align:center; display:block; left:0px; top:17px; }
.tbl-form th[data-notice]:after { display:block; content:attr(data-notice); font-weight:500; font-size:0.8em; color:#999; line-height:1.5em; margin-top:3px; }
.tbl-form .req th:before { content:"必須"; background:#333; color:#fff; }
.tbl-form td { padding-right:40px; }

.tbl-form .cbox { display:block; width:100%; max-width:300px; position:relative; }
.tbl-form .cbox-border { border:solid 1px #aaa; }
.tbl-form .req .cbox:before { font-family:"Font Awesome 5 Free"; content:"\f058"; font-weight:900; position:absolute; right:-1.75em; top:50%; font-size:1.25em; line-height:1em; margin-top:-0.5em; color:#ddd; }
.tbl-form input[type="text"], .tbl-form textarea, .tbl-form select { display:block; padding:10px 15px; width:100%; background:transparent; }
.tbl-form input[type="text"] { line-height:1em; }
.tbl-form textarea { min-height:6em; line-height:1.5em; overflow:hidden hidden; }
.tbl-form select { cursor:pointer; position:relative; z-index:5; }
.tbl-form .cbox-select:after { font-family:"Font Awesome 5 Free"; content:"\f0d7"; font-weight:900; position:absolute; right:15px; top:8px; font-size:1.25em; color:#aaa; }

.tbl-form .li { position:relative; display:inline-block; margin-right:15px;  }
.tbl-form label { position:relative; display:block; padding-left:23px; }
.tbl-form label:before, .tbl-form label:after { display:block; width:14px; height:14px; position:absolute; left:0; top:50%; margin-top:-7px; text-align:center; }
.tbl-form label:before { content:""; border:solid 1px #aaa; }
.tbl-form .cbox-radio label:before, .tbl-form .cbox-radio label:after { border-radius:50px; }
.tbl-form .cbox-checkbox label:before { border-radius:4px; }
.tbl-form .cbox-radio label:after { content:""; background:#333; border:solid 1px #333; transform:scale(0.6); }
.tbl-form .cbox-checkbox label:after { font-family:"Font Awesome 5 Free"; content:"\f00c"; font-weight:900; margin-top:-10px; left:1px; }
.tbl-form .cbox-ul label:after { opacity:0; -webkit-opacity:0; }
.tbl-form .cbox-ul input:checked + label:after { opacity:1; -webkit-opacity:1; }
.tbl-form .li input { display:block; position:absolute; left:0; top:0; bottom:0; cursor:pointer; width:100%; z-index:5; }
.tbl-form .cbox-radio input, .tbl-form .cbox-checkbox input { opacity:0; -webkit-opacity:0; }

.tbl-form .cbox-date .group:before, .tbl-form .cbox-date .group:after {}
.tbl-form .cbox-date .group[data-before]:before { content:attr(data-before); margin-right:5px; }
.tbl-form .cbox-date .group[data-after]:after { content:attr(data-after); margin-left:5px; }
.tbl-form .cbox-date .group { position:relative; display:inline-block; margin-right:10px; }
.tbl-form .cbox-date .group:last-child { margin-bottom:0; }
.tbl-form .cbox-date input { border:solid 1px #aaa; display:inline-block; width:2.5em; padding:4px 5px; text-align:center; }
.tbl-form .cbox-date input.year { width:3.5em; }

.formBtn { display:block; width:250px; max-width:100%; height:65px; line-height:65px; background:#333; color:#fff; font-weight:900; text-align:center; font-size:1.2em; margin:0 auto; cursor:pointer; }
.formBtn:hover { opacity:0.7; -webkit-opacity:0.7; }
.confBtn[data-state="lock"], .backBtn, .closeBtn { background:#ccc; color:#777; }
.confBtn[data-state="lock"] { pointer-events:none; }
.sendGroup { width:500px; max-width:100%; margin:0 auto; display:none; }
.sendGroup li { float:left; margin-right:4%; width:48%; }
.sendGroup li:last-child { margin-right:0; }

.tbl-form .req[data-state="ok"] .cbox-border, .tbl-form .req[data-state="ok"] .cbox-date input,
.tbl-form .req[data-state="ok"] .cbox-ul input:checked + label:before { border-color:#333; background:#eee; }
.tbl-form .req[data-state="ok"] .cbox:before { color:#333; }
.tbl-form .req[data-state="ng"] .cbox:before { color:#999; content:"\f071"; }

/* FORM -> CONF */
#forms[data-state="conf"] input::placeholder { color:transparent; }
#forms[data-state="conf"] .cbox-border, #forms[data-state="conf"] .cbox-date input,
#forms[data-state="conf"] .cbox-ul input:checked + label:before { border-color:transparent; background:transparent; }
#forms[data-state="conf"] .cbox-ul input:checked + label { padding:0; }
#forms[data-state="conf"] .cbox-ul input:checked + label:after { opacity:0; -webkit-opacity:0; }
#forms[data-state="conf"] .cbox:before { opacity:0; -webkit-opacity:0; }
#forms[data-state="conf"] input, #forms[data-state="conf"] textarea, #forms[data-state="conf"] select { pointer-events:none; }
#forms[data-state="conf"] input[type="text"], #forms[data-state="conf"] textarea, #forms[data-state="conf"] select {  padding:0; }
#forms[data-state="conf"] textarea { resize:none; overflow:visible; }
#forms[data-state="conf"] #policyLine, #forms[data-state="conf"] .confBtn { display:none; }
#forms[data-state="conf"] .sendGroup { display:block; }
#forms[data-state="conf"] .cbox-date input { border:none; padding:0; }
#forms[data-state="conf"] .cbox-date .group[data-before]:before,
#forms[data-state="conf"] .cbox-date .group[data-after]:after { margin:0; }
#forms[data-state="conf"] .cbox-select:after { display:none; }
#forms[data-state="conf"] .cbox-ul input + label { display:none; }
#forms[data-state="conf"] .cbox-ul input:checked + label { display:block; }
#cf7 { display:none; }

/* オーバーレイ
------------------------------------------------------------*/
.overlay { position:fixed; left:0; right:0; top:0; bottom:0; z-index:900; cursor:pointer; background:rgba(85,85,85,0.7); }
.overlay .wrap { width:900px; height:600px; max-width:100%; max-height:100%; position:relative; margin:0 auto; cursor:auto; box-shadow:0 5px 15px rgba(20,20,20,0.1); }
.overlay .box { overflow:hidden auto; height:100%; }
.overlay .close { display:block; font-size:30px; height:50px; line-height:50px; text-align:center; width:50px; background:#000; color:#fff; cursor:pointer; position:absolute; right:0; top:0; }
.overlay .close:before { content:"×"; }
.overlay .close:hover { opacity:0.7; -webkit-opacity:0.7; }

.overlay, .overlay .wrap { -webkit-transition:all 0.3s ease; transition:all 0.3s ease; opacity:0; -webkit-opacity:0; }
.overlay.show, .overlay.show .wrap { -webkit-transition:all 0.5s ease; transition:all 0.5s ease; opacity:1; -webkit-opacity:1; }
.overlay .wrap { transform:translateY(20px);  }
.overlay.show .wrap { transform:translateY(0); transition-delay:0.2s; }
.overlay .img { width:300px; max-width:100%; float:right; margin:0 0 10px 30px; }
.open-overlay { cursor:pointer; }

/* ボタン
------------------------------------------------------------*/
.button a, .button a:hover { text-decoration:none; }
.button a {
    display: block;
    position: relative;
    font-size: 17px;
    font-weight: 600;
    width: 280px;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    height: 60px;
    line-height: 60px;
    cursor: pointer;
    background: #007c36 url("../images/common/common_arrow_white.png") no-repeat right 30px center;
    color: #fff;
    position: relative;
    z-index: 1;
    border-radius: 100px;
    letter-spacing: 1px;
}

.button a:hover { opacity:0.7; -webkit-opacity:0.7; transform:translateX(5px); background-position:right 20px center; }
.button-white a { background-color:#fff; background-image:url("../images/common/common_arrow_red.png"); color:#007c36; }

.minibtn { display:inline-block; }
.minibtn a { display:block; width:150px; height:38px; line-height:38px; background:#007c36; color:#fff; font-size:14px; letter-spacing:1px; position:relative; z-index:1; border-radius:50px; text-align:center; }
.minibtn a:hover { opacity:0.7; -webkit-opacity:0.7; }
.minibtn-company1 { margin:-10px 0 -10px 20px; }

/* ------------------------------------------------------------------------------------------------
	ナビゲーション
--------------------------------------------------------------------------------------------------- */

/* ページトップへ
--------------------------------------------------------------------------------*/
.pagetop { cursor:pointer; display:block; position:fixed; bottom:0; right:0; width:60px; height:60px; line-height:60px; text-align:center; z-index:10; background:url(img/pagetop.jpg) no-repeat center center; background-size:cover; }
.pagetop.hide { right:-60px; }
.pagetop:hover { opacity:0.7; -webkit-opacity:0.7; }

/* 投稿ナビ
--------------------------------------------------------------------------------*/
.postnavi span, .postnavi a { display:inline-block; }
.postnavi .prev { float:left; } .postnavi .next { float:right; }
.postnavi a { position:relative; z-index:1; border:solid 1px #007c36; color:#007c36; padding:7px 20px; font-size:0.9em; font-weight:700; }
.postnavi a:hover { background:#007c36; color:#fff; }
.postnavi .prev a:hover { -webkit-transform:translateX(-5px); transform:translateX(-5px); }
.postnavi .next a:hover { -webkit-transform:translateX(5px); transform:translateX(5px); }

/* アーカイブ
--------------------------------------------------------------------------------*/
.pagenavi { margin:30px 0 0; }
.pagenavi span, .pagenavi a { display:inline-block; position:relative; background:#fff; color:#007c36; padding:7px 10px; margin:0 8px 8px 0; line-height:1.4em; position:relative; z-index:1; border-radius:3px; }
.pagenavi span { background:#007c36; color:#fff; }
.pagenavi a:hover { opacity:0.7; -webkit-opacity:0.7; transform:translateY(5px); }

/* ------------------------------------------------------------------------------------------------
	アーカイブページ
--------------------------------------------------------------------------------------------------- */

/* ニュース一覧 -> シンプル
--------------------------------------------------------------------------------*/
.simplelist { font-size:0.95em; }
.simplelist li { border-bottom:dotted 1px #ccc; padding:15px 0; }
.simplelist li span { display:block; overflow:hidden; line-height:1.3em; }
.simplelist li .date, .simplelist li .cate { float:left; margin-right:15px; white-space:nowrap; }
.simplelist li .date { white-space:nowrap; overflow:hidden; }
.simplelist li .cate { width:80px; text-align:center; }
.simplelist li .cate a { display:block; color:#fff; background:#000; font-size:0.8em; padding:2px; }
.simplelist li .date, .simplelist li .title { padding:2px 0; }

/* ------------------------------------------------------------------------------------------------
	トップページ
--------------------------------------------------------------------------------------------------- */

.top_news { padding:80px 0 90px; }
.top_news .caption { color:#007c36; float:left; font-weight:700; font-size:34px; line-height:45px; width:35px; margin-right:85px; position:relative; }
.top_news .caption:after { content:attr(data-eng); font-family:'Oswald',sans-serif; font-size:22px; line-height:1em; opacity:0.15; -webkit-opacity:0.15; position:absolute; transform:rotate(90deg); right:-45px; top:22px; letter-spacing:1px; }
.top_news .news { overflow:hidden; }

.news li { margin-bottom:10px; }
.news li:last-child { margin-bottom:0; }
.news a { display:block; background:#fff; position:relative; z-index:1; border-radius:7px; height:56px; line-height:56px; font-size:15px; letter-spacing:1px; padding:0 40px; }
.news .date { color:#8a8a8a; margin-right:40px; float:left; }
.news .title { color:#3b3b3b; overflow:hidden;  white-space:nowrap; text-overflow:ellipsis; -webkit-text-overflow:ellipsis; }
.news a:hover { opacity:0.7; -webkit-opacity:0.7; }

.top_contents { padding:50px 0 0; /*background:url(img/top_tube_bg.png) no-repeat 0 0;*/  }

.tubbox { display:inline-block; position:relative; padding:20px 70px 20px 100px; }
.tubbox:before, .tubbox:after { content:""; display:block; position:absolute; background:url(img/common_tube.png) no-repeat center center; width:43px; height:43px;  }
.tubbox:before { left:0; top:0; }
.tubbox:after { right:0; bottom:0; transform:rotate(180deg); }

.photobox { margin-bottom:150px; padding-top:120px; position:relative; }
.photobox.last { margin-bottom:120px; }

.photobox .photo .box, .photobox .text { -webkit-transition:all 0.4s ease; transition:all 0.4s ease; }
.photobox .photo { top:40px; width:50%; position:absolute; z-index:5; }
.photobox .photo .box { padding-top:56%; background:no-repeat center center; background-size:cover; }
.photobox .text { width:55%; background:#007c36; text-align:center; color:#fff; font-size:30px; line-height:1.66em; letter-spacing:1.2px; font-weight:700; margin:0; position:relative;  }
.photobox .text .wrap { padding-top:45%; position:relative; }
.photobox .text .pos { position:absolute; left:0; right:0; top:0; bottom:0; display:-webkit-box; display:-webkit-flex; display:flex; -webkit-box-pack:center; -webkit-justify-content:center; justify-content:center; -webkit-box-align:center; -webkit-align-items:center; align-items:center; }

.photobox .eng { content:attr(data-eng); position:absolute; font-family:'Oswald',sans-serif; color:#deedff; font-size:120px; line-height:1em; top: -60px; }
.photobox .tubbox { margin-bottom:30px; }

.photobox.photo-left .photo { left:0; }
.photobox.photo-left .text { margin-left:auto; }
.photobox.photo-left .eng { right:0; }

.photobox.photo-right .photo { right:0; }
.photobox.photo-right .text { margin-right:auto; }
.photobox.photo-right .eng { left:0; }

.photobox.photo-right .eng.child, .photobox.photo-left .text.child { transform:translateX(40px); }
.photobox.photo-left .eng.child, .photobox.photo-right .text.child { transform:translateX(-40px); }
.photobox.photo-left .eng.send, .photobox.photo-left .text.send,
.photobox.photo-right .eng.send, .photobox.photo-right .text.send { transform:translate(0); }

.top_contact { position:relative; }
.top_contact:before { position:absolute; content:""; display:block; left:0; width:100%; bottom:190px; height:200px; background:#007c36; }
.top_contact * { z-index:5; }
.top_contact .image { display:block; position:absolute; left:5.555%; height:100%; max-height:100%; bottom:0; width:32%; background:no-repeat center top; }
.top_contact .nayami { padding-top:20px; padding-left:40%; padding-bottom:50px; }
.top_contact .box { padding-top:100%; position:relative; z-index:1; border-radius:500px; background-size:cover; box-shadow:0 200px 0 rgba(4,104,159,0.4) inset; position: relative; }
.top_contact .title { position:absolute; left:0; right:0; top:50%; font-size:24px; height:24px; line-height:24px; margin-top:-12px; color:#fff; letter-spacing:2px; font-weight:700; text-align:center; text-shadow:0 0 10px #3a5277,0 0 10px #3a5277,0 0 10px #3a5277,0 0 10px #3a5277,0 0 10px #3a5277; }

/*
.top_contact.scroll { transform:translate(0); }
.top_contact.send:before { animation:top_contact 2s; }
@keyframes top_contact { 0% { width:0%; } 100% { width:100%; } }
*/

/* ------------------------------------------------------------------------------------------------
	固定ページ
--------------------------------------------------------------------------------------------------- */

/* 会社概要 */
.photobox2 .imagebox { margin-bottom:0; width:49%; }
.photobox2 .leftbox { margin-right:8%; }
.photobox2 .rightbox { margin-left:8%; }

.pagecaption1, .pagecaption1:after {}
.pagecaption1 { font-size:30px; line-height:1.7em; letter-spacing:3px; font-weight:700; position:relative; }
.pagecaption1:after { content:""; display:block; width:90px; height:7px; background:#5E90C0; margin:35px 0; }

.company_message { margin-top:30px; }
.company_message .image { position:absolute; left:5%; top:-90px; bottom:-50px; overflow:hidden; width:26%; text-align:center; }
.company_message .text { padding-left:34%; }

.logobox { padding:40px 20px 0; position:relative; }
.logobox .image { margin:0 50px 0 0; }
.logobox .eng { font-family:'Yellowtail',sans-serif; font-weight:500; font-style:normal; content:attr(data-before); position:absolute; right:-10px; top:-25px; color:#7089af; font-size:50px; line-height:1em; transform:rotate(5deg); }

/* 事業内容 */
.interview_header { background:no-repeat center center; background-size:cover; box-shadow:0 500px 0 rgba(4,104,157,0.8) inset; padding:65px 0; position:relative; }

.interview_header .caption { color:#fff; font-size:30px; line-height:1.7em; font-weight:700; letter-spacing:5px; position:relative; z-index:6; }
.interview_header .person { position:absolute; right:50px; top:50%; width:150px; height:400px; z-index:5; margin-top:-200px; }
.interview_header .person .img { position:absolute; left:0; right:0; top:0; bottom:0; }

.interview_header .person .img1 { animation:interview_img_1 5s infinite; }
.interview_header .person .img2 { animation:interview_img_2 5s infinite; }

@keyframes interview_img_1 { 0% { opacity:1; } 40% { opacity:1; } 50% { opacity:0; } 90% { opacity:0; } 100% { opacity:1; } }
@keyframes interview_img_2 { 0% { opacity:0; } 40% { opacity:0; } 50% { opacity:1; } 90% { opacity:1; } 100% { opacity:0; } }

.interview_header .name { font-family:'Yellowtail',sans-serif; font-weight:500; font-style:normal; color:#6095C9; font-size:50px; line-height:1.04em; transform:rotate(-10deg); position:absolute; right:210px; bottom:-120px; z-index:6; }
.interview_header .name.child { transform:rotate(-10deg) translateY(30px); }
.interview_header .name.send { transform:rotate(-10deg) translateY(0); }

.interview_profile { padding:50px 0 60px; }
.interview_profile .box { display:inline-block; }
.interview_profile .data { margin-right:40px; line-height:1em; }
.interview_profile .data1 { font-size:20px; letter-spacing:3px; margin-bottom:10px; font-weight:700; }
.interview_profile .data2 { font-size:14px; letter-spacing:1px; }

.interview { position:relative; }
.interview .box { position:relative; padding:70px; width:580px; max-width:100%; z-index:5; }
.interview .box:before { content:attr(data-num); font-family:'Yellowtail',sans-serif; font-weight:500; font-style:normal; color:#6095C9; font-size:80px; line-height:1em; position:absolute; top:-0.5em; }
.interview .caption { color:#04689D; font-size:21px; font-weight:700; line-height:1.6em; margin-bottom:20px; letter-spacing:1px; }
.interview .text { font-size:15px; line-height:2em; letter-spacing:1px; }

.interview .photo { width:52%; padding-top:50px; }
.interview .photo .img { background:no-repeat center center; background-size:cover; padding-top:50%; }

.bg-aqua .interview .box { background:#fff; }
.bg-white .interview .box { background:#ddecfe; }

.interview_left .box { float:left; } .interview_left .photo { margin:0 0 0 auto; }
.interview_right .box { float:right; } .interview_right .photo { margin:0 auto 0 0; }
.interview_left .box:before { left:70px; }
.interview_right .box:before { right:70px; }

.interview_left .photo.child { transform:translateX(30px); }
.interview_right .photo.child { transform:translateX(-30px); }
.interview .photo.send { transform:translateX(0); }

/* 採用情報 */
.recruit_about { padding-top:60px; position:relative; }
.recruit_about .text { width:60%; padding:60px 50px; margin:0 auto 0 0; }
.recruit_about .text .box { width:500px; max-width:80%; margin:0 22% 0 auto; }
.recruit_about .photo { width:50%; position:absolute; right:0; top:0; z-index:5; }
.recruit_about .photo .box { padding-top:420px; background:no-repeat center center; background-size:cover; }

.recruit_points {
	background: -webkit-linear-gradient(top, #fff 0, #fff 150px, #ddecfe 151px);
	background: linear-gradient(to bottom, #fff 0, #fff 150px, #ddecfe 151px);
}
.recruit_points .num { font-family:'Yellowtail',sans-serif; font-weight:500; font-style:normal; font-size:80px; line-height:1em; margin-bottom:-0.5em; color:#6097CB; text-align:center; position:relative; z-index:1; letter-spacing:3px; }
.recruit_points .image { -webkit-border-radius:500px; border-radius:500px; overflow:hidden; }
.recruit_points .title { font-size:24px; line-height:1.7em; text-align:center; font-weight:700; }
.recruit_points .text { letter-spacing:0.25px; }

.button-interview a { background-image:none; width:730px; height:110px; font-size:26px; font-weight:700; line-height:1.3em; pposition:relative; padding:0 140px;
	display:-webkit-box; display:-webkit-flex; display:flex; -webkit-box-pack:center; -webkit-justify-content:center; justify-content:center; -webkit-box-align:center; -webkit-align-items:center; align-items:center;
}
.button-interview a:before, .button-interview a:after { content:""; display:block; width:110px; height:135px; position:absolute; bottom:0; background:no-repeat center top; background-size:100%; }
.button-interview a:before { left:20px; background-image:url(img/business_person_2_1.png); }
.button-interview a:after { right:20px; background-image:url(img/business_person_1_2.png); }
.button-interview span { display:inline-block; background:url(img/common_arrow_white.png) no-repeat right 10px center; padding-right:50px; -webkit-transition: all 0.4s ease; transition: all 0.4s ease; }
.button-interview a:hover span { background-position:right center; }

.recruit_groups .group { margin-bottom:10px; }
.recruit_groups .open { display:block; background:#ddecfe; color:#1271a7; padding:15px 25px; font-size:19px; line-height:1.6em; font-weight:700; cursor:pointer; position:relative; }
.recruit_groups .open:after { font-family:"Font Awesome 5 Free"; content:"\f077"; font-weight:900; width:30px; line-height:30px; line-height:30px; text-align:center; position:absolute; z-index:1; border-radius:30px; background:#1271a7; color:#fff; font-size:10px; right:20px; }
.recruit_groups .close:after { content:"\f078"; }
.recruit_groups .box { border:solid 4px #ddecfe; border-top:0; margin-bottom:10px; display:none; margin-bottom:50px; }
.tbl-recruit { border-top:solid 1px #dfdfdf; }
.tbl-recruit th, .tbl-recruit td { padding:15px 0; font-size:15px; line-height:1.8em; }
.tbl-recruit th { width:160px; }

.recruit_message .imagebox { text-align:right; margin:0 0 20px 15px; }

/* 水回りのお悩みご相談 */

.troubles .image { position:relative; }
.troubles .photo, .troubles .icon { background:no-repeat center center; }
.troubles .photo { padding-top:66%; background-size:cover; }
.troubles .icon { position:absolute; width:74px; height:74px; left:50%; margin-left:-37px; bottom:-37px; -webkit-border-radius:70px; border-radius:70px; background-size:100%; background-color:#04679e; }
.troubles .title { font-size:26px; line-height:1.5em; font-weight:700; text-align:center; }
.troubles .text { line-height:1.7em; }

.trouble_point { border:solid 4px #ddecfe; padding:40px; padding-left:330px; position:relative; }
.trouble_point .image, .trouble_point .serif, .trouble_point .photo { position:absolute; }
.trouble_point .image { top:-60px; bottom:0; left:10px; width:300px; max-width:100%; }
.trouble_point .serif { font-family:'Yellowtail',sans-serif; font-weight:500; font-style:normal; color:#6097CB; font-size:68px; line-height:1em; left:0; top:0; -webkit-transform:rotate(-10deg); transform:rotate(-10deg); }
.trouble_point .photo { right:0; top:5px; bottom:0; width:260px; max-width:100%; overflow:hidden; }
.trouble_point .caption { background:url(img/icon_tryangle.png) no-repeat left center; padding-left:60px; color:#FF8320; font-size:30px; line-height:1.3em; min-height:40px; }
.trouble_point .list { padding-left:15px; }

.trouble_step { background:#0072a8; }
.trouble_step .side { margin-right:60px; float:left; }
.trouble_step .capt1 { font-family:'Oswald',sans-serif; font-weight:900; font-size:120px; line-height:1em; }
.trouble_step .capt2 { color:#6ba1d4; font-size:31px; line-height:1.4em; font-weight:700; letter-spacing:2px; }
.trouble_step .main { overflow:hidden; padding-bottom:20px; }
.trouble_step .group { padding-left:110px; position:relative; margin-bottom:-10px; }
.trouble_step .num { position:absolute; left:0; top:20px; bottom:20px; width:74px; background:#fff; color:#6097CB; font-size:40px; line-height:1em; font-family:'Yellowtail',sans-serif; font-weight:500; font-style:normal; text-align:center; display:-webkit-box; display:-webkit-flex; display:flex; -webkit-box-pack:center; -webkit-justify-content:center; justify-content:center; -webkit-box-align:center; -webkit-align-items:center; align-items:center; }
.trouble_step .num:before, .trouble_step .num:after { content:''; display:block; border:solid 0 transparent; position:absolute; left:0; border-width:20px 37px 0; }

.trouble_step .num:before, .trouble_step .num:after { border-color:#fff; }
.trouble_step .num:before { top:-20px; border-top-color:transparent ! important; }
.trouble_step .num:after { bottom:-20px; border-left-color:transparent ! important; border-right-color:transparent ! important; }

.trouble_step .group:first-child .num { top:0; }
.trouble_step .group:first-child .num:before { display:none }
.trouble_step .group:nth-child(n+3) .num { color:#04689F; }
.trouble_step .group:nth-child(2) .num { background:#e1edf5; }
.trouble_step .group:nth-child(2) .num:before, .trouble_step .group:nth-child(2) .num:after { border-color:#e1edf5; }
.trouble_step .group:nth-child(3) .num { background:#b8d0e8; }
.trouble_step .group:nth-child(3) .num:before, .trouble_step .group:nth-child(3) .num:after { border-color:#b8d0e8; }
.trouble_step .group:nth-child(4) .num { background:#8bb4db; }
.trouble_step .group:nth-child(4) .num:before, .trouble_step .group:nth-child(4) .num:after { border-color:#8bb4db; }
.trouble_step .group:nth-child(5) .num { background:#6ba2d1; }
.trouble_step .group:nth-child(5) .num:before, .trouble_step .group:nth-child(5) .num:after { border-color:#6ba2d1; }
.trouble_step .group:last-child { margin-bottom:0; }

.trouble_step .box { padding:25px 0; }
.trouble_step .caption { font-size:26px; line-height:1.5em; font-weight:700; letter-spacing:1px; }
.trouble_step .guide { position:absolute; left:50px; bottom:-90px; z-index:10; text-align:center; }
.trouble_step .label { display:block; width:90px; height:90px; line-height:90px; background:#6ba2d1; color:#fff; font-weight:700; font-size:26px; letter-spacing:2px; text-indent:2px; text-align:center; -webkit-border-radius:90px; border-radius:90px; position:absolute; right:0; top:50%; margin-top:-45px; }
.trouble_step .group:nth-child(3) .text { padding-right:100px; }

.works .workcont:first-child { padding-top:20px; }
.works .workcont:nth-child(even) { background:#f2f9ff; }
.works .tubbox { padding-bottom:10px; }
.worklist > li { margin-bottom:3%; }
.worklist .img { background:no-repeat center center; background-size:cover; padding-top:66%; display:block; }
.worklist .img:hover { -webkit-opacity:0.7; opacity:0.7; }
.worklist .txt { line-height:1.5em; }

.tubecontainer { position:relative; }
.tubecontainer::before, .tubecontainer::after { content:""; display:block; position:absolute; top:0; bottom:0; left:0; right:0; }
.tubecontainer::before { background:url(img/top_tube_bg2.png) no-repeat right top; }
.tubecontainer::after { background:url(img/top_tube_bg3.png) no-repeat left bottom; }
.tubecontainer .workcont * { position:relative; z-index:1; }

/* ------------------------------------------------------------------------------------------------
	投稿ページ
--------------------------------------------------------------------------------------------------- */

/* 通常の投稿 */
.singles p, .singles ul, .singles ol { margin-bottom:2em; }
.singles ul, .singles ol { margin-left:1.0em; }
.singles ul li { list-style:disc outside; }
.singles ol li { list-style:decimal outside; }
.singles hr { margin:2em 0; border:none; border-bottom:dotted 1px #bbb; }
.singles img { width:auto ! important; height:auto ! important; max-width:100% ! important; }
.singles .img_normal { text-align:center; }
.singles .img_wide img { width:100% ! important; }
.singles strong { font-weight:700; }
.singles h1 { font-size:1.5em; line-height:1.4em; }
.singles h2 { font-size:1.4em; line-height:1.4em; }
.singles h3 { font-size:1.3em; line-height:1.4em; }
.singles h4 { font-size:1.2em; line-height:1.4em; }
.singles h6 { font-size:1.1em; line-height:1.4em; }

.maps iframe { margin-bottom:-10px; }
.videobox { position:relative; width:100%; }
.videobox iframe { position:absolute; top:0; width:100% ! important; height:100% ! important; }

.clear, .grayline, .period { height:0; line-height:0; border:0; }
.clear { opacity:0; -webkit-opacity:0; }
.grayline { border-bottom:solid 1px #C3C2C2; }
.period { margin-bottom:0.75em; }

.labelline { position:relative; height:0; line-height:0; }
.labelline a { position:absolute; top:-80px; }

/* ------------------------------------------------------------------------------------------------
	アニメーション
--------------------------------------------------------------------------------------------------- */

.scroll, .child, .send { -webkit-transition:all 0.9s ease; transition:all 0.9s ease; opacity:0; transform:translateY(-40px); }
.scroll-left, .child-left { transform:translateX(-40px); }
.scroll-right, .child-right { transform:translateX(40px); }
.scroll-bottom, .child-bottom { transform:translateY(40px); }
.sleft { transform:translateX(40px); }
.sright { transform:translateX(-40px); }
.send { opacity:1; transform:translate(0); }
.send2 { -webkit-transition:all 0.7s ease; transition:all 0.7s ease; }

.sp, .mb { display:none; }
