@charset "utf-8";
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, dialog, figure, footer, header,hgroup, menu, nav, section,time, mark, audio, video { list-style:none; margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
body { line-height:1;}
article, aside, dialog, figure, footer, header,hgroup, nav, section { display:block;}
nav ul { list-style:none;}
li { margin:0; padding:0;}
blockquote, q { quotes:none;}
blockquote:before, blockquote:after,q:before, q:after { content:''; content:none;}
a { margin:0; padding:0; border:0; font-size:100%; vertical-align:baseline; background:transparent;}
ins { color:#312927; text-decoration:none;}
mark { color:#312927; font-style:italic; font-weight:bold;}
del { text-decoration: line-through;}
abbr[title], dfn[title] { border-bottom:1px dotted #312927; cursor:help;}
table { border-collapse:collapse; border-spacing:0;}
hr { display:block; height:1px; border:0; border-top:1px solid #312927; margin:1em 0; padding:0;}
input, select { vertical-align:middle;}
input[type="submit"], input[type="button"],input[type="checkbox"],input[type="radio"],input[type="text"] { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
img {vertical-align:bottom;}
html { font-size: 16px; -webkit-text-size-adjust: 100%;overflow:auto; }
body {
 overflow: hidden;
 min-width: 1000px;
 font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 font-weight:400;
 font-size: 16px;
 line-height: 1.8;
 color: #312927;
 margin:0 auto;
 position:relative;
 letter-spacing: 1px;
 z-index:1;
 overflow-x:hidden;
 visibilty:hidden;
 -webkit-transition:.5s;
 -o-transition:.5s;
 transition:.5s;
 -moz-osx-font-smoothing:grayscale;
 -webkit-font-smoothing:antialiased;
 }
main {position:relative;}
body * {box-sizing: border-box;} 
body a,body a img { -webkit-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out; transition: all .5s ease-in-out;}
.ja { font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
.mem1 {margin-top: 1.5em;}
.f120 {font-size:120%;}
.f140 {font-size:140%;}
.f160 {font-size:160%;font-weight: 700;}
.f180 {font-size:180%;}
.f200 {font-size:200%;}
a { color: #312927; text-decoration: none; }
*:focus { outline: none;}
ul {list-style: none; }
img {max-width:100%;}
strong { font-weight: 900;}
.inner {max-width: 1000px;margin:0 auto;position: relative;}
@media only screen and (max-width:1040px) {.inner {max-width:initial;width: 100%;}}
@media only screen and (max-width:1000px) {body { min-width: initial;}}
@media only screen and (max-width:800px) {main {background:none;}}
@media only screen and (max-width:600px) {body {font-size: 3.6vw;font-weight: normal;}}
.flex {display: -webkit-box; display: -moz-box; justify-content: space-between; display: -webkit-flex; display: box; display: flex;}
.flex.wrap {flex-wrap:wrap;}
.flex.reverse {flex-direction:row-reverse;}
.sp {display:none;}
/*fv＝＝＝＝＝＝＝＝＝＝＝ */
.fv {width:100%;background:url(../img/fv_bg.jpg) no-repeat center;background-size:cover;overflow: hidden;z-index: -1;height: 634px;position:relative;}
.fv .inner {padding: 30px 2% 66px; z-index:2;}
.fv img.men {position:absolute;left: 389px;bottom: 0;}
.fadeinup { -moz-transform: scale(1.05) translateY(40px);
 -webkit-transform: scale(1.05) translateY(40px);
 -o-transform: scale(1.05) translateY(40px);
 -ms-transform: scale(1.05) translateY(40px); opacity:0;
 -webkit-transition: all .8s cubic-bezier(.165,.84,.44,1);
 transition: all .8s cubic-bezier(.165,.84,.44,1);
 -webkit-transition-timing-function: cubic-bezier(.165,.84,.44,1);
 transition-timing-function: cubic-bezier(.165,.84,.44,1);}
.fadeinup.show { -moz-transform: scale(1) translateY(0px);
 -webkit-transform: scale(1) translateY(0px); -o-transform: scale(1) translateY(0px); -ms-transform: scale(1) translateY(0px); opacity:1;}
.fadeinup2 { -moz-transform: translateY(40px);
 -webkit-transform: translateY(40px);
 -o-transform:  translateY(40px);
 -ms-transform: translateY(40px); opacity:0;
 -webkit-transition: all .8s cubic-bezier(.165,.84,.44,1);
 transition: all .8s cubic-bezier(.165,.84,.44,1);
 -webkit-transition-timing-function: cubic-bezier(.165,.84,.44,1);
 transition-timing-function: cubic-bezier(.165,.84,.44,1);}
.fadeinup2.show { -moz-transform: translateY(0px);
 -webkit-transform:translateY(0px); -o-transform: translateY(0px); -ms-transform: translateY(0px); opacity:1;}
/* footer---------------- */
footer {background: #4c4745;padding:1em 4%;text-align: center;color:#FFF;}
footer a {position: relative;color:#FFF;line-height: 1;}
footer a:nth-child(n+2) {color:#FFF; margin-left:1em; padding-left:1em; }
footer a:nth-child(n+2):before {background:#FFF;width: 1px;height: 1.2em;position:absolute;display: block;margin: auto;bottom: 0;left:0;top: .2em;content:"";}
/* contact---------------- */
.midashi {background: #4c4745;text-align:center;color:#FFF;font-weight: 900;font-size:300%;padding:.2em 2%;}
.wwn {text-align:center; font-size:250%; font-weight:900;margin-bottom:.2em;}
.wwn span { color: #6b6b6b;}
.wwn span:before,
.wwn span:after { position: relative; display: inline-block; content: ""; background: #6b6b6b;
 width: 2.5px; height: 1.2em; margin: 0 .5em;border-radius:999px; margin-top: -.2em; vertical-align: middle;}
.wwn span:before { transform: rotate(-35deg); }
.wwn span:after { transform: rotate(35deg); }
.contact {background: url(../img/cta_bg.gif) repeat;padding: 3em 2%;}
.contact .title {font-size:200%; margin-bottom:.5em;}
.contact.long {padding-bottom:7em;}
.contact.long + .wwn { margin-top:-2em;}
.contact .titlebox {max-width:650px;width: 100%;}
.contact .check {padding:30px;}
.btm a {margin: 1em auto 0;display:inline-block;position:relative;
background:#ecb29e;padding: .8em 2em .8em 1.5em;border-radius:10px;
box-shadow: rgba(105, 105, 105, 0.2) 0px 3px 3px; color:#FFF; font-weight:900;}
.contact .btm a { font-size:160%;margin: 1em auto 0;}
.btm a:after { content:""; position:absolute; right: .5em; top: 0; margin:auto;
 bottom: -.1em; width:100%; background:url(../img/next_icon.png) no-repeat right top;
 background-size: contain; height: .6em; }
.contact .inner {max-width:800px;position:relative;background:#fff;padding: 30px 30px 60px;text-align:center;}
.contact .inner:before {position:absolute;content:"";pointer-events:none;width:100%;height:100%;border:1px solid #6b6b6b;left: -5px;top: -5px;}
form input {border:1px solid #6b6b6b;}
input[type="text"] {padding:.5em .8em !important;font-size:180%;line-height: 2em;border: 1px solid #bfbfbf !important;margin:0 4% 0 !important;width: 92% !important;box-sizing:border-box;display:block !important;border-radius:.4em;background: #f3f3f3;}
.contact form {position:relative;}
.contact form .submit { width:92%;height: 9.5em; margin:auto;position:relative;z-index:2;}
.contact form input[type="submit"] {background:url(../img/btm.png) no-repeat center #28a86d;
cursor: pointer;display: block;width: 100%;height:100%;background-size: 60%;border: none;text-indent: -9999px;margin:1.5em auto;}
.contact form .submit:before {content:"";display:block;width:100%;height:100%;background:#ffffde;position:absolute;top: 5px;left: 5px;z-index:-2;}
.contact form .submit:after { content:""; display:block; width:100%; height:100%;
 border:1px solid #6b6b6b; position:absolute; top: 5px; left: 5px; z-index:-1;
 -webkit-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; }
.contact form .submit:hover:before,.contact form .submit:hover:after {top:-0.8px; left:-1px;}  
.contact form .submit:hover input[type="submit"] {background:url(../img/btm.png) no-repeat center #33b277;background-size: 60%;}
.aten { margin:1em auto; max-width:600px; font-size:80%;}
.aten p {position:relative;padding-left:1em;display: inline-block;}
.aten p:before {content:"※";position:absolute;left:0;top:0;}
.check li{text-align:left;background:url(../img/check.gif) no-repeat left top 0em;background-size:2em;padding-left:2.5em;font-size: 130%;font-weight: 600;min-height: 2em;}
.sec1 .check li{background:url(../img/check_b.gif) no-repeat left top 0em;background-size:2em; }

.check li + li {margin-top:.5em;}
.check li strong ,.red{color: #da1f1f;font-weight: 600;}
.sec1 {background: #d0cfce;padding-bottom: 80px;}
.sec1 + .wwn,.contact + .wwn {margin-top:-80px;}
.sec1 .flex {padding: 0 6%;justify-content:space-around;}
.sec1 .txt { padding:120px 0 0 0;}
section.present {padding: 3em 2%;}
ul.benefits {justify-content: center;}
ul.benefits li{width:30%;padding-bottom: 4%;margin-right:3.5%;background: #f5f5f2;position:relative;text-align:center;}
ul.benefits li:last-child {margin-right:0;}
ul.benefits li .img {margin-bottom:1.5em;}
ul.benefits li .img img {width: 100%;}
ul.benefits li p.title {background: #4c4745;color:#FFF;font-size:150%;font-weight:700;line-height:1;max-width: 6em;position: relative;margin: -2.2em 0 1em 0;padding:.2em .4em .4em;}
ul.benefits.more li {background: #ffe4e5;}
ul.benefits.more li:nth-child(1) {background:none;text-align:left;font-size:120%;font-weight:700;line-height: 1.4;}
ul.benefits.more li:nth-child(1) .sub:nth-child(2) {font-size: 250%;font-weight:900;border-top:2px solid;padding-top:.5em;margin-top:.5em;}
ul.benefits.more li p.title { background:#e38580; }
ul.benefits li p.txt { font-weight:700;}
.moretitle {max-width:780px; margin:auto; position:relative;padding:2em 1%;}
.present  {position:relative;}
.present .imgp {position: absolute;width:100%;height: calc(100% + 137px);top: -137px;left: 0;right: 0;bottom: 0;}
.present .imgp .img1 {position:absolute;top:0;width: 628px;right: 0;left: 0;margin: auto;z-index: -1;}
.present .imgp .img2 {position:absolute;left: 0;bottom: -60px;}
.sec3 { padding:80px 4% 0;}
.movie { background:#f5f5f2;padding:3em 2%;}
.movie .inner {padding:30px; background:#FFF; border-radius:10px;}
.movie .inner iframe {width:100%;}
.mbox { position: relative; width:100%; height:0; padding-top: 56.25%;}
.mbox iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.sec3 .flex.flexbox1{ margin-bottom:4em;}
.sec3 .flex.flexbox1 .img{position:relative; width:40%;}
.sec3 .flex.flexbox1 .img:before{ position:absolute; content:""; display:block; width:50vw; background: #4c4745; height:80%; z-index:-1; left:0; bottom:0; top:0; margin:auto; border-radius:15px 0 0 15px; }
.sec3 .flex.flexbox1 .img img{ display:block; margin-left:auto;padding-right:6%;width:320px; height:auto;}
.sec3 .flex .txt{width: 60%;}
.sec3 .flex.flexbox2 .img{ width:49.5%;}
.sec3 .flex.flexbox2:nth-child(n+2) { margin-top:10px;}
.sec3 .flex.flexbox2 .img img{ width:100%; height:100%; object-fit:cover;}
.sec3 .flex.flexbox2 .txt{width:49.5%;background:#f5f5f2;padding:30px;display:table;position: relative;}
.sec3 .flex.flexbox2 .txt div {display:table-cell;vertical-align:middle; font-size:120%; padding-left:2em;font-weight:600;}
.sec3 .flex.flexbox3{margin-bottom:0em;margin-top:4em;position:relative;padding:100px 0 60px;color: #FFF;}
.sec3 .flex.flexbox3:before{
 position:absolute;
 content:"";
 display:block;
 width:150vw;
 background: #4c4745;
 height: 90%;
 z-index:-1;
 left:-50vw;
 bottom:0;
 margin:auto;
 }
.sec3 .flex.flexbox3 .txt{width: 55%;font-size:120%;}
.sec3 .flex.flexbox3 .img{width: 60%;max-height: 480px;height: 480px;bottom:60px;overflow:hidden;position:absolute;left: 55%;}
.sec3 .flex.flexbox3 .img img{ width:100%; height:100%; object-fit:cover;}

.sec4 { padding:80px 4%;}
ul.voice {justify-content:space-between;}
ul.voice li{ width:48%; margin-bottom:3em;}
ul.voice li .img {border:1px solid #b5b5b5; margin-bottom:1em;}
.sec4 .aten { text-align:center;}
.profile {position:relative;padding-top:150px;max-width: 960px;margin: auto;}
.profile .head {position:absolute;z-index:2;top:0;left:-60px;width: calc(100% + 60px);}
.profile .head .img {border: 10px solid #4c4745;border-radius:50%;width:290px;height:290px;overflow:hidden;}
.profile .head .img img {object-fit:cover; width:100%; height:100%;}
.profile .head .title {color: #4c4745;font-size: 440%;line-height: 1;font-weight:800;padding-top: .8em;}

.profile .box {background: url(../img/plpf_en.png) no-repeat bottom right #4c4745;background-size:60%;color:#FFF;padding:15px 30px 45px;box-shadow: 0 0 0 1px #fff, 0 0 0 10px #4c4745;width:calc(100% - 11px);}
.profile .box .name {border-bottom:1px solid;padding-bottom:.2em;padding-left: 220px;
margin-bottom:.2em;font-size: 140%;align-items: center;font-weight:800;}
.profile .box .name span:nth-child(1) {font-size: 180%;}
.profile .box ul {padding-top:3em; max-width:850px; margin-left:auto;}
.profile .box ul li { position:relative;padding-left:1.4em; font-size:120%; }
.profile .box ul li:nth-child(n+2) {margin-top:.5em;}
.profile .box ul li:before {content:""; background:#FFF; width:.9em; height:.9em;display:block;
position:absolute;left:0;top:.5em; opacity:.7;}
.servicebox {padding:3em 4%; text-align:center;}
.servicebox .midashi2 {font-size:150%; font-weight:900;}
.servicebox table {margin:auto;max-width:560px; width:560px; text-align:left;}
.servicebox table th {width:13em;}
.servicebox table th,.servicebox table td {padding:.8em 4%;}
.servicebox table tr:nth-child(2n) {background: #f3f3f3;}
@media screen and (max-width: 950px) {
.fv img.men {position:absolute;bottom: 0; z-index:-1; width:68vw;}
ul.benefits li{width:32%;margin-right:2%;}
.moretitle {max-width:initial; padding:2em 4% 3em 1%;}
.moretitle .img2 {}
.sec3 .flex.flexbox1 .img:before{content:none;}
.sec3 .flex.flexbox1 .img img{padding-right:0;max-width:300px; width:100%; height:auto;}
.sec3 .flex.flexbox2 .txt div { font-size:100%; padding-left:0; }
.sec3 .flex.flexbox3{display:block;margin-top:2em;padding:2em 0 3em;color: #312927;}
.sec3 .flex.flexbox3:before{content:none;}
.sec3 .flex.flexbox3 .txt{width: 100%;max-width:500px; margin:0 auto;font-size:100%;}
.sec3 .flex.flexbox3 .img{margin-top:2em;width: 100%;max-height:initial;height:auto;border-radius:15px;position:static;}
.sec3 .flex.flexbox3 .img img{ width:100%; height:100%; object-fit:cover;}

.profile { padding-top:16vw;max-width:initial; }
.profile .head { left:-4%;width:104%;font-size:2vw; }
.profile .head .img {border: .3em solid #4c4745;width:15em;height:15em;}
.profile .head .title { font-size:350%; }

.profile .box {padding:1% 2% 4%;box-shadow: 0 0 0 1px #fff, 0 0 0 0.3em #4c4745;width:100%;}
.profile .box .name {flex-wrap:wrap; padding-left: 23vw; font-size: 120%; }
.profile .box .name span:nth-child(1) {font-size: 180%;}
.profile .box ul {padding-top:2em; max-width:initial; }
.profile .box ul li { font-size:100%; }
}
@media screen and (max-width: 800px) {
.fv { height:auto; }

.fv .inner {padding:0; z-index:2;}
.fv img.men {display:none;}.fv img.txt {width:100%;} 
.midashi { font-size:250%; padding:.2em 2%;}
.wwn { font-size:160%; }
.sec1 {margin: 0 0 2em;}
.sec1 .flex {padding: 0 4%;display:block;}
.sec1 .txt {padding: 2em 0 1em 0;}
.sec1 + .wwn {margin-top:-4em;}
.sec1 .img {max-width:300px;width:60vw; margin:auto;}.sec1 .img img {width:100%;}
ul.benefits li{width:100%;margin-right:0;}
ul.benefits li:nth-child(n+2) {margin-top: 1em;}
.contact .inner { padding:4% 4% 8%;text-align:center;}
.contact .check {padding:4% 0;}
.contact form .submit { width:100%;height: 7.5em; }
}
@media screen and (min-width: 750px) {
.sec3 .flex.flexbox2 .txt:after{width: 0;content:"";left: -24px; margin: auto;display:block;
height: 0;position:absolute;bottom:0;top:0;border-style: solid;
border-width: 20px 24px 20px 0;
border-color: transparent #f5f5f2 transparent transparent;
}
.sec3 .flex.flexbox2:nth-child(odd) .txt:after{
border-width: 20px 0 20px 24px;left:auto; right:-24px;
border-color: transparent transparent transparent #f5f5f2;}
}
@media screen and (max-width: 750px) {
.sec3 .flex.flexbox2 {display:block;}
.sec3 .flex.flexbox2 .img{ width:100%;}
.sec3 .flex.flexbox2:nth-child(n+2) { margin-top:2em;}
.sec3 .flex.flexbox2 .img img{ width:100%; height:100%; object-fit:cover;}
.sec3 .flex.flexbox2 .txt{ width:100%; padding:4%; }
.sec3 .flex.flexbox2 .txt{ padding:8%; text-align:center; }
.sec3 .flex.flexbox2 .txt:after{width: 0;content:"";left: 0;right: 0;margin: auto;display:block;height: 0;position:absolute;bottom:-15px;border-style: solid;border-width: 15px 15px 0 15px;border-color: #f5f5f2 transparent transparent transparent;}
}
@media screen and (max-width: 600px) {
.sp {display:inline;}    
.check li{font-size: 110%;}
section.present {padding: 2em 2% 3em;}
ul.benefits li{margin: 0;padding-bottom: 8%;}
ul.benefits li p.title {font-size:180%;margin: -1.5em auto .5em;}
ul.benefits.more li:nth-child(1) {text-align:center;font-size:120%;padding-bottom: .2em;}
ul.benefits.more li:nth-child(1) .sub:nth-child(2) {font-size: 200%; }
ul.benefits.more li:nth-child(1) br {display:none;}

.present .imgp {height: calc(100% + 6em);top: -6em;}
.present .imgp .img1 {width: 90vw;}
.present .imgp .img2 {display:none;}
.contact {padding: 2em 4%;}
.contact .check li{font-size: 100%;background-size: 1.5em;padding-left: 2em;}
.contact form .submit { height: 5em; }
input[type="text"] {padding:.4em .8em !important;font-size:100%; }
.contact .inner:before {left:0;top:0;}
.contact.long {padding-bottom:4em;}
.midashi { font-size:180%; padding:.2em 0;}
.sec3 { padding:3em 4% 0;}
.movie { padding:1em 3% 1em;}
.movie .inner {padding:4%; }
.sec3 .flex.flexbox1{ display:block;}
.sec3 .flex.flexbox1 .img,.sec3 .flex .txt{width:100%;}
.sec3 .flex.flexbox1 .img img{ margin:2em auto 0;width:60%;max-width:320px;}
.sec4 { padding:3em 4%;}
ul.voice {display:block;}
ul.voice li{ width:100%; margin-bottom:3em;}
ul.voice li img {max-width:initial;width:100%;}
.sec4 .aten { text-align:left; margin-bottom:3em;}
.profile { padding-top:0; }
.profile .head {display:block;text-align:center; width:100%; position:static; }
.profile .head .img { margin:auto;}
.profile .head .title {font-size:350%;padding-top:.5em;padding-bottom:.5em;}

.profile .box .name {display:block; padding-left: 0; font-size: 120%;text-align:center; }
.profile .box .name span {display:block;}
.profile .box .name span:nth-child(1) {font-size: 180%;}
.profile .box ul {padding-top:1em; max-width:initial; }
.profile .box ul li { font-size:100%; }
.servicebox {padding:3em 4%; }
.servicebox table {margin:auto;max-width:initial; width:100%; }
.servicebox table th,.servicebox table td {padding:.8em 4%; display:block;}
.servicebox table th {width:100%;padding:.8em 4%;border-bottom:1px dotted;}
}
