@charset "UTF-8";
/*=============================================================
home トップページ
=============================================================*/
/* #mainVisual
-------------------------------------- */
#mainVisual .item { width: 100%; padding-top: 120%; }

#mainVisual .item.item01 { background: url(../img/home/bg_main01_sp.png) center no-repeat; background-size: cover; position: relative; }

#mainVisual .item.item01 .txt { padding: 0 10px; position: absolute; width: 375px; height: 178px; left: 0; right: 0; top: 0; bottom: 0; margin: auto; max-width: 100%; }

@media screen and (min-width: 600px) { #mainVisual .item { padding-top: 49%; }
#mainVisual .item.item01 { background-image: url(../img/home/bg_main01_pc.png); }
#mainVisual .item.item01 .txt { padding: 0; width: 858px; height: 364px; } }

/* #about
-------------------------------------- */
#about .head { padding: 29px 0 20px; position: relative; background: #fffaed url(../img/home/bg_about01_sp.png) center top no-repeat; background-size: 375px; }

#about .head .topTit { text-align: center; margin-bottom: 13px; }

#about .head .topTit img { width: 288px; }

#about .head .headline { padding-left: 15px; }

#about .head .headline .sub { font-size: 1.5rem; line-height: 1; margin: 0 0 10px; }

#about .head .headline .tit { font-size: 3rem; line-height: 1.43; }

#about .head .ico { position: absolute; top: -60px; right: 10px; width: 97px; }

#about .head .txt { padding: 43% 15px 7px; font-size: 1.4rem; line-height: 2.1; }

#about .foot { position: relative; background: url(../img/home/bg_about02_sp.png) center bottom no-repeat; background-size: cover; padding: 20px 15px 40px; }

#about .foot .indent { color: #887063; font-size: 1.2rem; line-height: 1.4; }

#about .foot .pic { position: relative; top: -8px; width: 345px; margin: 0 auto 3px; max-width: 100%; }

#about .foot .btn { width: 295px; margin: 22px auto 0; border-radius: 30px; }

#about .foot .btn a { line-height: 52px; font-size: 1.5rem; }

#about .foot .btn a img { width: 87px; }

#about .foot .btn a:before { right: 22px; }

@media screen and (min-width: 600px) { #about { background: url(../img/home/bg_about01_pc.png) center top no-repeat, url(../img/home/bg_about02_pc.png) center top repeat; }
#about .head { padding: 100px 0 0; height: 943px; background: none; }
#about .head .topTit { text-align: left; margin-bottom: 24px; }
#about .head .topTit img { width: auto; }
#about .head .headline { padding-left: 0; }
#about .head .headline .sub { font-size: 3rem; line-height: 1; margin: 0 0 12px; }
#about .head .headline .tit { font-size: 6rem; }
#about .head .ico { top: 21px; right: -158px; width: 193px; z-index: 2; }
#about .head .img { position: absolute; top: -70px; right: -84px; z-index: 1; }
#about .head .txt { padding: 22px 0 7px; font-size: 1.6rem; line-height: 2.3; width: 450px; }
#about .foot { background: none; padding: 37px 0 0 700px; height: 250px; }
#about .foot .indent { font-size: 1.2rem; line-height: 1.4; letter-spacing: .01rem; }
#about .foot .indent li + li { margin-top: 5px; }
#about .foot .pic { position: absolute; top: 7px; left: 0; width: 685px; float: left; }
#about .foot .btn { width: 100%; margin: 20px auto 0; border-radius: 80px; }
#about .foot .btn a { line-height: 86px; font-size: 2.3rem; }
#about .foot .btn a img { width: 142px; }
#about .foot .btn a:before { right: 30px; } }

.sec01 { background: url(../img/home/bg_01_sp.png) no-repeat center top; background-size: cover; padding: 97px 0 0; }

.sec01 .inner { position: relative; padding: 0 15px 230px; }

.sec01 .tit { text-align: center; margin: 0 -15px 15px; }

.sec01 .tit img { max-width: 375px; }

.sec01 .txt { font-size: 1.4rem; line-height: 2.1; }

.sec01 .txt span { background: #fff9cb; }

.sec01 .icon { position: absolute; left: 0; bottom: -112px; }

.sec01 .icon img { width: 182px; }

@media screen and (min-width: 600px) { .sec01 { background: #f0edec url(../img/home/bg_01_pc.png) no-repeat center top; background-size: cover; padding: 149px 0 0; height: 1250px; }
.sec01 .inner { position: relative; padding: 0 15px 230px; }
.sec01 .tit { text-align: center; margin: 0 0 25px -88px; }
.sec01 .tit img { width: auto; max-width: none;}
.sec01 .txt { font-size: 1.6rem; line-height: 2.55; text-align: center; }
.sec01 .icon { position: absolute; left: -40px; bottom: -490px; }
.sec01 .icon img { width: auto; } }

.topCv { padding: 80px 10px 30px; }

.topCv .inner { position: relative; }

.topCv .topTit { text-align: center; margin-bottom: 10px; }

.topCv .topTit img { width: 292px; }

.topCv .icon { margin-bottom: 32px; }

.topCv .tit { position: relative; margin: 0 0 16px; }

.topCv .tit::before { content: ""; position: absolute; top: -11px; right: 0; left: 0; margin: 0 auto; max-width: 350px; height: 29px; background: url(../img/home/bg02_sp.png) no-repeat center center; background-size: contain; }

.topCv .tit span { color: #eebb1d; }

.topCv .bg:before { width: 208px; height: 386px; background-image: url(../img/common/pic_decolation02.png); background-size: contain; bottom: 0; right: 0; position: absolute; }

@media screen and (max-width: 330px) { .topCv .bg:before { width: 150px; height: 230px; bottom: 60px; } }

.topCv .list li .note { background: none; }

.topCv .list li span { position: relative; z-index: 2; }

.topCv .list li strong { position: relative; z-index: 1; }

.topCv .list li strong::before { content: ""; position: absolute; bottom: -2px; left: 0; width: 100%; height: 10px; background-image: url(../img/common/bg_stripe01.png); z-index: 0; }

@media screen and (min-width: 600px) { .topCv { padding: 0 10px 80px; background: url(../img/common/bg_product03_pc.png) no-repeat center bottom; background-size: cover; }
.topCv .inner { position: relative; }
.topCv .topTit { text-align: left; margin-bottom: 84px; }
.topCv .topTit img { width: auto; margin: -115px 0 0 -410px; }
.topCv .icon { margin-bottom: 0; position: absolute; top: 20px; right: 13px; }
.topCv .tit { position: relative; margin: 0 0 55px; }
.topCv .tit::before { content: ""; position: absolute; top: -1px; right: 0; left: 0; margin: 0 auto; width: 981px; height: 58px; background: url(../img/home/bg02_pc.png) no-repeat center center; background-size: contain; max-width: none; }
.topCv .tit span { color: #eebb1d; }
.topCv .bg:before { width: 417px; height: 773px; background-image: url(../img/common/pic_decolation02.png); background-size: contain; }
.topCv .list li .note { background: none; }
.topCv .list li span { position: relative; z-index: 2; }
.topCv .list li strong { position: relative; z-index: 1; }
.topCv .list li strong::before { content: ""; position: absolute; bottom: -2px; left: 0; width: 100%; height: 10px; background-image: url(../img/common/bg_stripe01.png); z-index: 0; } }

/* #point
-------------------------------------- */
#point { background: #fff9ea; padding: 40px 0; }

#point .intro { position: relative; padding: 0 15px 20px; }

#point .intro .tit { margin: 0 0 15px; padding: 0 5px; }

#point .intro .pic { margin: 0 0 25px; padding: 0 5px; }

#point .intro .txt { font-size: 1.4rem; line-height: 2.1; position: relative; }

#point .intro .txt strong { font-weight: normal; background: #fff9cb; padding: 0 5px; }

#point .intro .txt span { background: #fff9cb; }

#point .intro .txt + .txt { margin-top: 10px; }

#point .intro:before { content: ""; background: url(../img/home/bg_point01_sp.png) right bottom no-repeat; background-size: 100% auto; width: 100%; padding-top: 100%; bottom: -15%; right: 0; position: absolute; }

#point .point { position: relative; padding: 0 15px; }

#point .point .tit { margin: 0 0 15px; }

#point .point .list li { background: #fff; padding: 3px; border-radius: 10px; box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2), inset 0px 0px 0px 4px rgba(250, 242, 238, 0.004); }

#point .point .list li .inner { border: 1px solid #ffefe6; border-radius: 10px; padding: 10px 8px; }

#point .point .list li .cont { float: left; width: 125px; margin-right: 12px; }

#point .point .list li .sub { font-size: 1.7rem; color: #887063; margin-bottom: 6px; text-align: center; }

#point .point .list li .txt { padding-top: 5px; overflow: hidden; }

#point .point .list li + li { margin-top: 8px; }

@media screen and (min-width: 600px) { #point { background: url(../img/home/bg_point01_pc.png) right bottom no-repeat; background-size: cover; padding: 49px 0 95px; }
#point .intro { padding: 0 0 50px; }
#point .intro .tit { margin: 0 0 38px; padding: 0; }
#point .intro .pic { margin: 0; padding: 8px 0 0; float: left; width: 590px; }
#point .intro .txt { font-size: 1.6rem; width: 460px; line-height: 2.5; float: right; }
#point .intro .txt + .txt { margin-top: 20px; }
#point .intro:before { display: none; }
#point .point { padding: 0; }
#point .point .tit { margin: 0 20px 32px; }
#point .point .list li { width: 350px; float: left; box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2), inset 0px 0px 0px 5px rgba(250, 242, 238, 0.004); }
#point .point .list li .inner { padding: 17px 23px 30px; height: 100%; }
#point .point .list li .cont { float: none; width: auto; margin-right: 0; }
#point .point .list li .sub { font-size: 3rem; margin-bottom: 10px; }
#point .point .list li .txt { padding: 10px 8px 0; line-height: 1.7; letter-spacing: .01rem; }
#point .point .list li + li { margin-top: 0; margin-left: 25px; } }

/* #merit
-------------------------------------- */
#merit .bg { background: url(../img/home/bg_merit01_sp.png) center bottom no-repeat; background-size: 100% auto; background-color: #f9f8f6; padding: 35px 0 0; }

#merit .bg .headline { text-align: center; }

#merit .bg .headline .sub { font-size: 1.5rem; line-height: 1.5; margin: 0 0 10px; }

#merit .bg .headline .tit { font-size: 2.5rem; margin: 0 0 20px; }

#merit .bg .headline .tit strong { color: #eebb1d; }

@media screen and (max-width: 599px) { #merit .bg .headline .tit strong { display: block; } }

#merit .bg .baloons { position: relative; padding-top: 52%; }

#merit .bg .baloons .baloon { display: none; }

#merit .bg .note { font-size: 2rem; color: #887063; line-height: 2; margin-left: 15px; }

@media screen and (max-width: 350px) { #merit .bg .note { font-size: 2rem; margin-left: 15px; } }

#merit .bg .note span { border-bottom: 1px dashed #887063; padding-bottom: 8px; }

#merit .comment { background: #f9f8f6; font-size: 1.4rem; padding: 25px 15px; line-height: 2; }

@media screen and (min-width: 600px) { #merit { background-color: #f9f8f6; padding-bottom: 101px; }
#merit .bg { position: relative; background: none; padding: 95px 0 0; }
#merit .bg * { position: relative; }
#merit .bg:before { content: ""; display: block; background: url(../img/home/bg_merit01_pc.png) center bottom no-repeat; background-size: 100% auto; position: absolute; width: 1920px; height: 1200px; bottom: -101px; right: -410px; }
#merit .bg .headline .sub { font-size: 3rem; line-height: 1; margin: 0 0 25px; }
#merit .bg .headline .tit { font-size: 5rem; margin: 0 0 60px; }
#merit .bg .baloons { position: relative; padding-top: 0; height: 500px; margin-left: -50px; }
#merit .bg .baloons .baloon { font-size: 2.5rem; position: absolute; color: #887063; text-align: center; line-height: 1.5; display: block; }
#merit .bg .baloons .baloon strong { color: #f19a90; background: transparent linear-gradient(transparent 60%, #fff9cb 0%) repeat scroll 0 0; }
#merit .bg .baloons .baloon01 { bottom: 64px; left: 88px; background: url(../img/home/bg_baloon01.png) 0 0 no-repeat; background-size: contain; width: 350px; height: 260px; padding-top: 70px; }
#merit .bg .baloons .baloon02 { top: -4px; left: 256px; background: url(../img/home/bg_baloon02.png) 0 0 no-repeat; background-size: contain; width: 350px; height: 275px; padding-top: 66px; }
#merit .bg .baloons .baloon03 { bottom: 111px; right: 220px; background: url(../img/home/bg_baloon03.png) 0 0 no-repeat; background-size: contain; width: 365px; height: 283px; padding-top: 76px; }
#merit .bg .baloons .baloon04 { top: -34px; right: 0; background: url(../img/home/bg_baloon04.png) 0 0 no-repeat; background-size: contain; width: 350px; height: 290px; padding-top: 73px; }
#merit .bg .note { font-size: 3.8rem; line-height: 2.3; margin-left: -38px; margin-bottom: 10px; width: 540px; }
#merit .bg .note span { width: 540px; padding-bottom: 12px; letter-spacing: .001rem; }
#merit .comment { margin: 0 0 0 -40px; background: none; width: 480px; font-size: 1.6rem; padding: 0; line-height: 2.5; } }

/* #promise
-------------------------------------- */
#promise { background: #fffaed url(../img/home/bg_promise01_sp.png) center bottom no-repeat; background-size: cover; padding: 30px 15px 35px; }

#promise .headline { color: #fff; text-align: center; margin-bottom: 5px; }

#promise .headline .sub { font-size: 1.5rem; }

#promise .headline .tit { font-size: 2.5rem; }

#promise .headline .tit strong { font-size: 4rem; vertical-align: baseline; }

#promise .list li { float: left; width: 48%; padding: 3px; background: #fff; border-radius: 15px; text-align: center; position: relative; counter-increment: promise; }

#promise .list li a { display: block; text-decoration: none; }

#promise .list li:before { content: "0" counter(promise); font-style: italic; color: #fff; text-align: center; width: 40px; height: 40px; line-height: 40px; box-sizing: border-box; padding-right: 3px; border-radius: 50%; position: absolute; top: -11px; left: -8px; background: #ef8f84; font-size: 2.1rem; }

#promise .list li:after { content: ""; width: 17px; height: 10px; position: absolute; bottom: 12px; left: 0; right: 0; background: url(../img/common/ico_arrow02.png) 0 0 no-repeat; background-size: contain; margin: 0 auto; }

#promise .list li .inner { border-radius: 15px; border: 1px solid #faf2ee; padding-bottom: 30px; }

#promise .list li:nth-of-type(2n) { float: right; }

#promise .list li:nth-of-type(n + 3) { margin-top: 20px; }

#promise .list li .pic { margin: 0 0 10px; }

#promise .list li .txt { margin: 0 0 5px; }

@media screen and (max-width: 350px) { #promise .list li .txt { font-size: 1.2rem; } }

#promise .list li .promise { font-size: 1.8rem; }

@media screen and (max-width: 350px) { #promise .list li .promise { font-size: 1.7rem; } }

#promise .list li .promise strong { position: relative; }

#promise .list li .promise strong span { position: relative; font-weight: 500; }

#promise .list li .promise strong:before { content: ""; position: absolute; bottom: -2px; left: 0; width: 100%; height: 10px; background-image: url(../img/common/bg_stripe01.png); z-index: 0; }

@media screen and (min-width: 600px) { #promise { background: #fffaed url(../img/home/bg_promise01_pc.png) center bottom no-repeat; background-size: cover; padding: 100px 0 120px; }
#promise .headline { margin-bottom: 65px; line-height: 1; }
#promise .headline .sub { font-size: 3rem; }
#promise .headline .tit { font-size: 6rem; }
#promise .headline .tit strong { font-size: 10rem; }
#promise .list li { width: 260px; padding: 4px; border-radius: 20px; text-align: center; position: relative; counter-increment: promise; }
#promise .list li:before { width: 63px; height: 63px; line-height: 63px; padding-right: 5px; top: -20px; left: -11px; font-size: 3.4rem; }
#promise .list li:after { width: 30px; height: 17px; bottom: 25px; }
#promise .list li .inner { border-radius: 20px; padding-bottom: 61px; }
#promise .list li + li { margin-left: 20px; }
#promise .list li:nth-of-type(2n) { float: left; }
#promise .list li:nth-of-type(n + 3) { margin-top: 0; }
#promise .list li .pic { margin: 0 0 25px; }
#promise .list li .txt { margin: 0 0 3px; font-size: 1.9rem; line-height: 1.5; }
#promise .list li .promise { font-size: 2.8rem; }
#promise .list li .promise strong:before { bottom: -2px; height: 14px; } }

/* #list
-------------------------------------- */
#list { background-color: #fffaed; padding: 45px 0 30px; overflow: hidden; }

#list .item { background: #fff; counter-increment: item; padding: 3px; position: relative; box-shadow: inset 0px 0px 0px 4px rgba(250, 242, 238, 0.004); }

#list .item:before { content: "0" counter(item); text-align: center; font-family: 'Noto Serif Japanese', serif; padding: 0 0 5px; line-height: 1; left: 15px; top: -20px; font-size: 4rem; width: 45px; border-bottom: 1px solid #333; position: absolute; z-index: 5; }

#list .item .inner { padding: 0 15px; border: 1px solid #faf2ee; }

#list .item + .item { margin: 35px 0 0; }

#list .item .textArea .sub { font-size: 1.5rem; color: #887063; }

#list .item .textArea .sub strong { font-size: 1.7rem; vertical-align: baseline; }

#list .item .textArea .sub strong em { font-size: 2.5rem; vertical-align: baseline; }

#list .item .textArea .tit { font-size: 3.5rem; color: #eebb1d; margin-bottom: 10px; }

#list .item .textArea .txt { font-size: 1.4rem; line-height: 1.92; }

@media screen and (min-width: 600px) { #list { padding: 60px 0 90px; }
#list .item { padding: 5px; box-shadow: inset 0px 0px 0px 5px rgba(250, 242, 238, 0.004); }
#list .item:before { padding: 0 0 10px; left: 78px; top: -52px; font-size: 8rem; width: 80px; }
#list .item .inner { padding: 0 55px; }
#list .item + .item { margin: 80px 0 0; }
#list .item .textArea { padding-left: 20px; }
#list .item .textArea .sub { font-size: 2.8rem; margin-bottom: 0; }
#list .item .textArea .sub strong { font-size: 3.5rem; }
#list .item .textArea .sub strong em { font-size: 5rem; }
#list .item .textArea .tit { font-size: 6rem; margin-bottom: 10px; }
#list .item .textArea .txt { font-size: 1.6rem; line-height: 2.37; } }

#list .origin .inner { position: relative; padding-top: 20px; padding-bottom: 27px; }

#list .origin .inner:before { content: ""; width: 127px; height: 105px; background: url(../img/home/bg_origin01.png) right top no-repeat; background-size: contain; position: absolute; top: -4px; right: -4px; z-index: 1; }

#list .origin .inner:after { content: ""; width: 230px; height: 128px; background: url(../img/home/bg_origin02.png) right top no-repeat; background-size: contain; position: absolute; top: 95px; right: -50px; }

#list .origin .textArea { position: relative; z-index: 1; margin: 0 0 30px; }

#list .origin .list { margin: 0 0 40px; }

#list .origin .list li { position: relative; left: -10px; }

#list .origin .list li .pic { float: left; width: 100px; position: relative; top: -10px; }

#list .origin .list li .cont { overflow: hidden; }

#list .origin .list li .middle { text-align: center; background: #be968b; color: #fff; font-size: 1.5rem; padding: 2px 0; }

#list .origin .list li .txt { margin: 8px 0 0; }

#list .origin .list li + li { margin-top: 15px; }

#list .origin .box { position: relative; background: url(../img/home/bg_origin03.png) 0 0; border-radius: 10px; box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.2); padding: 32px 20px 20px; }

#list .origin .box .baloon { position: absolute; top: -15px; left: 0; right: 0; width: 270px; margin: 0 auto; font-size: 1.5rem; text-align: center; line-height: 40px; background: url(../img/home//ico_origin01.png) 25px 8px no-repeat #887063; background-size: 21px auto; color: #fff; border-radius: 20px; padding-left: 30px; }

#list .origin .box .cf { position: relative; }

#list .origin .box .note { font-size: 2.6rem; padding: 15px 145px 15px 15px; border-bottom: 1px dashed #333; margin: 0 0 20px; }

#list .origin .box .pic { position: absolute; top: 0; right: 0; width: 140px; }

#list .origin .box .txt { line-height: 1.92; font-size: 1.4rem; }

@media screen and (min-width: 600px) { #list .origin .inner { padding: 55px 40px 55px 55px; }
#list .origin .inner:before { width: 463px; height: 379px; top: -6px; right: -7px; z-index: 1; }
#list .origin .inner:after { width: 565px; height: 377px; background: url(../img/home/bg_origin02.png) right top no-repeat; top: 76px; right: 180px; }
#list .origin .textArea { margin: 0 0 45px; }
#list .origin .list { margin: 0 0 45px; }
#list .origin .list li { position: relative; left: 0; float: left; width: 179px; margin-right: 24px; }
#list .origin .list li .pic { float: none; width: 220px; position: relative; top: 0; left: -20px; }
#list .origin .list li .cont { overflow: hidden; position: relative; top: -12px; }
#list .origin .list li .middle { text-align: center; background: #be968b; color: #fff; font-size: 1.9rem; padding: 0; line-height: 50px; }
#list .origin .list li .txt { margin: 10px 0 0; font-size: 1.5rem; line-height: 1.7; }
#list .origin .list li + li { margin-top: 0; }
#list .origin .list li:nth-of-type(5n) { margin-right: 0; }
#list .origin .list li:nth-of-type(n + 6) { margin-top: -10px; }
#list .origin .box { border-radius: 20px; box-shadow: 1.5px 2.598px 7px 0px rgba(0, 0, 0, 0.2); padding: 80px 370px 45px 60px; }
#list .origin .box .baloon { top: -12px; left: 155px; width: 370px; margin: 0; font-size: 2.1rem; line-height: 60px; background: url(../img/home//ico_origin01.png) 30px 10px no-repeat #887063; background-size: 34px auto; border-radius: 35px; padding-left: 40px; }
#list .origin .box .cf { position: static; }
#list .origin .box .note { font-size: 3.3rem; padding: 0 0 20px; margin: 0 0 20px; text-align: center; line-height: 1; }
#list .origin .box .pic { position: absolute; top: 0; right: 0; width: 340px; }
#list .origin .box .txt { line-height: 2; font-size: 1.5rem; } }

#list .free .inner { background: url(../img/home/bg_free01_sp.png) center no-repeat; background-size: cover; padding-top: 35px; padding-bottom: 16px; }

#list .free .baloons { margin: 140px 0 0; }

@media screen and (min-width: 600px) { #list .free .inner { background: url(../img/home/bg_free01_pc.png) center no-repeat; background-size: cover; padding-top: 80px; padding-bottom: 40px; }
#list .free .baloons { margin: 60px 0 0px -20px; width: 578px; } }

#list .useful .inner { padding-top: 35px; padding-bottom: 16px; position: relative; }

#list .useful .inner .pic { position: absolute; top: -30px; right: 2px; width: 100px; }

#list .useful .textArea .tit { font-size: 3.1rem; letter-spacing: 0; line-height: 1.35; }

@media screen and (max-width: 350px) { #list .useful .textArea .tit { font-size: 2.5rem; z-index: 3; position: relative; } }

#list .useful .list { margin: 25px 0 0; }

#list .useful .list li { width: 32%; float: left; margin-right: 2%; }

#list .useful .list li:nth-of-type(3n) { margin-right: 0; }

#list .useful .list li:nth-of-type(n + 4) { margin-top: 8px; }

@media screen and (min-width: 600px) { #list .useful .inner { padding-top: 67px; padding-bottom: 50px; }
#list .useful .inner .cont { position: relative; padding-left: 390px; }
#list .useful .inner .pic { top: 0; right: auto; left: -2px; width: 355px; }
#list .useful .textArea { padding-left: 0; }
#list .useful .textArea .sub { margin-bottom: 15px; }
#list .useful .textArea .tit { font-size: 5.8rem; margin-bottom: 25px; }
#list .useful .list { margin: 52px 0 0; }
#list .useful .list li { width: 186px; float: left; margin-right: 11px; }
#list .useful .list li:nth-of-type(3n) { margin-right: 13px; }
#list .useful .list li:nth-of-type(n + 4) { margin-top: 0; }
#list .useful .list li:nth-of-type(5n) { margin-right: 0; } }

#list .japan .inner { position: relative; padding-top: 35px; padding-bottom: 27px; }

#list .japan .inner:before { content: ""; width: 128px; height: 115px; background: url(../img/home/bg_japan01.png) right top no-repeat; background-size: contain; position: absolute; top: -4px; right: -4px; }

#list .japan .inner:after { content: ""; width: 125px; height: 140px; background: url(../img/home/bg_japan02.png) right top no-repeat; background-size: contain; position: absolute; top: 20px; right: 129px; }

#list .japan .textArea { position: relative; }

#list .japan .list { margin: 20px 0 0; }

#list .japan .list .attention { border-radius: 8px; background: url(../img/home/ico_check01.png) center no-repeat #be968b; background-size: 22px auto; color: #fff; text-align: center; font-size: 1.8rem; line-height: 1.5; padding-top: 9%; }

#list .japan .list .cont .sub { text-align: center; background: #be968b; color: #fff; font-size: 1.4rem; line-height: 1.21; padding: 6px 0; position: relative; }

#list .japan .list .cont .sub:before { content: ""; width: 20px; height: 13px; background: url(../img/common/ico_arrow03.png) center no-repeat; background-size: contain; bottom: -13px; left: 0; right: 0; margin: 0 auto; position: absolute; }

#list .japan .list .cont .pic { box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.3); margin-top: 7px; }

#list .japan .list li { float: left; width: 48%; }

#list .japan .list li:nth-of-type(2n) { float: right; }

#list .japan .list li:nth-of-type(n + 3) { margin-top: 15px; }

@media screen and (min-width: 600px) { #list .japan .inner { padding-top: 75px; padding-bottom: 50px; }
#list .japan .inner:before { content: ""; width: 460px; height: 419px; top: -6px; right: -6px; }
#list .japan .inner:after { content: ""; width: 274px; height: 222px; top: 16px; right: 464px; }
#list .japan .textArea { padding-left: 20px; width: 570px; }
#list .japan .textArea .tit { margin-bottom: 23px; }
#list .japan .list { margin: 45px 0 0; }
#list .japan .list .attention { background: url(../img/home/ico_check01.png) center no-repeat #be968b; background-size: 38px auto; font-size: 2.5rem; padding-top: 7%; }
#list .japan .list .cont .sub { font-size: 1.9rem; line-height: 1.3; padding: 11px 0; }
#list .japan .list .cont .sub:before { width: 40px; height: 26px; bottom: -26px; }
#list .japan .list .cont .pic { margin-top: 10px; height: 160px; }
#list .japan .list li { float: left; width: 230px; }
#list .japan .list li:nth-of-type(2n) { float: left; }
#list .japan .list li:nth-of-type(n + 3) { margin-top: 0; }
#list .japan .list li + li { margin-left: 19px; } }

.midCv { padding: 70px 10px 30px; background: url(../img/common/bg_product03_sp.png) no-repeat center top; background-size: cover; }

.midCv .inner { position: relative; }

.midCv .tit { margin: 0 0 27px; }

.midCv .topTit { text-align: center; margin-bottom: 20px; }

.midCv .topTit img { max-width: 345px; }

.midCv .txt { font-size: 1.4rem; line-height: 2.1; padding: 0 5px; margin-bottom: 0; }

.midCv .txt span { background: #fff9cb; }

.midCv .txtPrice { padding: 0 5px; margin-bottom: 20px; }

.midCv .txtPrice span { display: inline-block; vertical-align: initial; }

.midCv .txtPrice .num { font-family: -apple-system, BlinkMacSystemFont, "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; font-size: 3rem; padding: 0 3px; }

.midCv .topBtn { border-radius: 30px; margin: 0 12px 4px; }

.midCv .topBtn a { padding: 16px 0; }

.midCv .topBtn a::before { right: 20px; }

.midCv .img { margin: 0 -10px 34px 20px; }

.midCv .btmTit { text-align: center; margin-bottom: 20px; }

.midCv .btmTit img { max-width: 355px; }

.midCv .list li .note { background: none; }

.midCv .list li span { position: relative; z-index: 2; }

.midCv .list li strong { position: relative; z-index: 1; }

.midCv .list li strong::before { content: ""; position: absolute; bottom: -2px; left: 0; width: 100%; height: 10px; background-image: url(../img/common/bg_stripe01.png); z-index: 0; }

@media screen and (min-width: 600px) { .midCv { padding: 173px 10px 80px; background: url(../img/common/bg_product04.png) no-repeat center top; background-size: cover; }
.midCv .inner { position: relative; }
.midCv .tit { margin: 0 0 97px; }
.midCv .topTit { text-align: left; margin: 0 0 30px 670px; }
.midCv .topTit img { width: auto; }
.midCv .txt { font-size: 1.6rem; line-height: 2.5; padding: 0; margin: 0 0 2px 670px; }
.midCv .bg { padding: 90px 50px 46px; }
.midCv .txtPrice { padding: 0; margin: 0 0 29px 670px; font-size: 2rem; letter-spacing: .001rem; }
.midCv .txtPrice span { display: inline-block; vertical-align: initial; }
.midCv .txtPrice .num { font-size: 4rem; padding: 0 13px; }
.midCv .txtPrice .tax { font-size: 1.3rem; }
.midCv .topBtn { margin: 0 21px 88px 692px; }
.midCv .img { margin: 0; position: absolute; left: 0; top: 166px; }
.midCv .img img { width: auto; }
.midCv .btmTit { text-align: center; margin-bottom: 57px; }
.midCv .btmTit img { width: auto; max-width: none; }
.midCv .list li .note { background: none; }
.midCv .list li .cont .product img { max-width: 110px; }
.midCv .list li span { position: relative; z-index: 2; }
.midCv .list li strong { position: relative; z-index: 1; }
.midCv .list li strong::before { content: ""; position: absolute; bottom: -2px; left: 0; width: 100%; height: 10px; background-image: url(../img/common/bg_stripe01.png); z-index: 0; } }

/* #voice
-------------------------------------- */
#voice { background: #f9f8f6; padding: 6px 15px 30px; }

#voice .headline { position: relative; }

#voice .headline .kome { position: absolute; font-size: 1rem; color: #a0a0a0; top: 10px; left: 120px; }

@media screen and (max-width: 350px) { #voice .headline .kome { transform: scale(0.9); white-space: nowrap; transform-origin: left top; } }

#voice .headline .sub { font-size: 1.7rem; padding: 25px 0 15px 120px; background: url(../img/home/ico_about01.png) 13% 0 no-repeat; background-size: 80px auto; }

#voice .headline .tit { text-align: center; font-size: 2.3rem; line-height: 1; background: url(../img/home/tit_voice01.png) center bottom no-repeat; background-size: 100% auto; padding: 0 0 10%; margin: 0 0 20px; }

@media screen and (max-width: 350px) { #voice .headline .tit { font-size: 2rem; } }

#voice .list .item { background: #fff; border-radius: 10px; }

#voice .list .item .tit { background: #be968b; position: relative; line-height: 50px; color: #fff; padding-left: 65px; border-radius: 10px 10px 0 0; font-size: 1.7rem; }

#voice .list .item .tit:before { content: ""; width: 40px; height: 150px; background-size: contain; background-position: center bottom; background-repeat: no-repeat; position: absolute; bottom: 0; left: 14px; }

#voice .list .item .inner { padding: 0 3px 3px; border-radius: 0 0 10px 10px; }

#voice .list .item .inner .cont { border-radius: 0 0 10px 10px; border: 1px solid #faf2ee; }

#voice .list .item .inner .cont .txt { padding: 15px; }

#voice .list .item .inner .cont .product { padding: 15px 55px 15px 0; background: url(../img/common/bg_stripe02.png); text-align: right; font-size: 1.2rem; color: #887063; line-height: 1.41; position: relative; }

#voice .list .item .inner .cont .product .pic { position: absolute; text-align: center; width: 55px; right: 0; bottom: 5px; }

#voice .list .item .inner .cont .product .pic img { zoom: .5; width: auto; }

#voice .list .item:nth-of-type(1) .tit:before { background-image: url(../img/home/ico_voice01.png); }

#voice .list .item:nth-of-type(2) .tit:before { background-image: url(../img/home/ico_voice02.png); }

#voice .list .item:nth-of-type(3) .tit:before { background-image: url(../img/home/ico_voice03.png); }

#voice .list .item:nth-of-type(4) .tit:before { background-image: url(../img/home/ico_voice04.png); }

#voice .list .item:nth-of-type(4) .inner .cont .product .pic { bottom: 15px; }

#voice .list .item:nth-of-type(5) .tit:before { background-image: url(../img/home/ico_voice05.png); }

#voice .list li + li { margin-top: 12px; }

@media screen and (min-width: 600px) { #voice { padding: 30px 0 75px; }
#voice .headline .kome { font-size: 1.3rem; top: 85px; left: 330px; }
#voice .headline .sub { font-size: 3.4rem; padding: 109px 0 18px 331px; background: url(../img/home/ico_about01.png) left 150px top 0 no-repeat; background-size: 170px auto; margin: 0 0 20px; }
#voice .headline .tit { font-size: 6rem; background: url(../img/home/tit_voice01.png) center bottom no-repeat; background-size: auto; padding: 0 0 95px; margin: 0 0 47px; }
#voice .list .item .tit { line-height: 90px; padding-left: 115px; border-radius: 10px 10px 0 0; font-size: 2.5rem; }
#voice .list .item .tit:before { width: 80px; height: 150px; left: 20px; }
#voice .list .item .inner { padding: 0 4px 4px; border-radius: 0 0 15px 15px; }
#voice .list .item .inner .cont { border-radius: 0 0 15px 15px; position: relative; height: 100%; }
#voice .list .item .inner .cont .txt { padding: 23px 35px 115px; line-height: 1.65; }
#voice .list .item .inner .cont .product { padding: 22px 95px 22px 0; background: url(../img/common/bg_stripe02.png); font-size: 1.6rem; position: absolute; bottom: 0; left: 0; width: 100%; }
#voice .list .item .inner .cont .product .pic { width: 95px; bottom: 5px; }
#voice .list .item .inner .cont .product .pic img { zoom: 1; }
#voice .list .item:nth-of-type(4) .inner .cont .product .pic { bottom: 12px; }
#voice .list .zexy { position: relative; top: 0px; right: -10px; }
#voice .list li + li { margin-top: 0; }
#voice .list li { width: 532px; float: left; }
#voice .list li:nth-of-type(2n) { float: right; }
#voice .list li:nth-of-type(n + 3) { margin-top: 50px; } }

/* #yopipi
-------------------------------------- */
#yopipi { padding: 26px 0 40px; background: url(../img/home/bg_yopipi01_sp.png) center bottom no-repeat; background-size: cover; }

#yopipi .tit { margin: 0 0 10px; }

#yopipi .insta { width: 305px; margin: 0 auto 3px; height: 465px; overflow-y: auto; }

#yopipi .insta iframe { max-width: 100% !important; min-width: auto !important; }

#yopipi .product { padding: 0 20px; position: relative; }

#yopipi .product .head { width: 256px; margin: 0 auto; }

#yopipi .product .pic { width: 95px; position: absolute; bottom: 15px; left: 20px; }

@media screen and (max-width: 350px) { #yopipi .product .pic { left: -15px; } }

#yopipi .product .box { background: url(../img/home/img_yopipi02.png) center top no-repeat; background-size: contain; width: 280px; height: 311px; margin: 0 0 0 auto; padding-left: 20px; z-index: 10; position: relative; right: -17px; }

@media screen and (max-width: 350px) { #yopipi .product .box { right: -30px; } }

#yopipi .product .box .info { text-align: center; font-size: 1.2rem; padding: 22px 0 0; margin: 0 0 80px; }

#yopipi .product .box .info strong { display: block; font-size: 1.8rem; }

#yopipi .product .box .txt { font-size: 1.2rem; padding: 0 15px 0 30px; }

#yopipi .product .box .btn { width: 180px; margin: 10px auto 0; border-radius: 35px; border: 1px solid #d9d9d9; box-shadow: 0 2px 0 0 #d9d9d9; }

#yopipi .product .box .btn a { line-height: 36px; font-size: 1.1rem; }

#yopipi .product .box .btn a img { width: 53px; }

#yopipi .product .box .btn a:before { right: 30px; }

@media screen and (min-width: 600px) { #yopipi { padding: 55px 0 0; background: url(../img/home/bg_yopipi01_pc.png) center bottom no-repeat; background-size: cover; }
#yopipi .tit { margin: 0 auto 2px 64px; width: 945px; }
#yopipi .insta { width: 400px; margin: 20px 0 0; float: right; height: 765px; }
#yopipi .product { float: left; width: 660px; padding: 0; top: -30px; left: -16px; }
#yopipi .product .head { width: 520px; margin: 0 -40px 23px auto; }
#yopipi .product .pic { width: 220px; bottom: 61px; left: 16px; }
#yopipi .product .box { width: 495px; height: 500px; margin: 0 0 0 auto; padding-left: 35px; z-index: 10; position: relative; top: -20px; right: -55px; }
#yopipi .product .box .info { text-align: center; font-size: 1.6rem; padding: 33px 0 0; margin: -10px 0 134px; }
#yopipi .product .box .info strong { font-size: 3rem; }
#yopipi .product .box .txt { font-size: 1.5rem; padding: 0 70px; line-height: 1.73; }
#yopipi .product .box .btn { width: 280px; margin: 20px auto 0; border-radius: 35px; border: 1px solid #d9d9d9; box-shadow: 0 4px 0 0 #d9d9d9; }
#yopipi .product .box .btn a { line-height: 55px; font-size: 1.4rem; }
#yopipi .product .box .btn a img { width: 75px; }
#yopipi .product .box .btn a:before { right: 30px; } }
