@charset "UTF-8";
.font-maru { font-family: 'Zen Maru Gothic', serif; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-wrap: break-word; }

html { font-size: 62.5%; }
@media screen and (max-width: 750px) { html { font-size: 2.375vw; } }

body { font-family: 'Noto Sans JP', YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-size: 1.6rem; -webkit-text-size-adjust: 100%; }
@media screen and (max-width: 750px) { body { font-size: 1.6rem; } }

li { list-style: none; }

img { max-width: 100%; vertical-align: bottom; }

video { max-width: 100%; }

a:hover { text-decoration: none; }

button { padding: 0; border: none; background: none; font-family: inherit; font-size: 1.6rem; cursor: pointer; }
@media screen and (max-width: 750px) { button { font-size: 1.6rem; } }

input[type="text"], input[type="password"], input[type="tel"], input[type="email"], textarea { font-family: inherit; font-size: 1.6rem; }
@media screen and (max-width: 750px) { input[type="text"], input[type="password"], input[type="tel"], input[type="email"], textarea { font-size: 1.6rem; } }

select { font-family: inherit; }

.only-pc { display: block; }
@media screen and (max-width: 750px) { .only-pc { display: none; } }

.only-sp { display: none; }
@media screen and (max-width: 750px) { .only-sp { display: block; } }

img.only-pc, span.only-pc { display: inline; }
@media screen and (max-width: 750px) { img.only-pc, span.only-pc { display: none; } }
img.only-sp, span.only-sp { display: none; }
@media screen and (max-width: 750px) { img.only-sp, span.only-sp { display: inline; } }

table.only-pc { display: table; }
@media screen and (max-width: 750px) { table.only-pc { display: none; } }
table.only-sp { display: none; }
@media screen and (max-width: 750px) { table.only-sp { display: table; } }

.js-tel { color: #000 !important; text-decoration: none; cursor: default; }

.pagetop { position: fixed; bottom: 20px; right: 20px; z-index: 9999; opacity: 0; transition: all .5s; transform: translateY(100px); width: 75px; }
@media screen and (max-width: 750px) { .pagetop { bottom: 5px; right: 5px; } }
.pagetop.is-show { opacity: 1; transform: translateY(0); }

.inner { max-width: 1240px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 750px) { .inner { padding: 0 4%; } }

.contents { width: 100%; max-width: 1000px; margin: 0 auto; }

.header { position: relative; }
.header .logo-aichinow { position: absolute; top: 0; right: 0; width: 18.75%; margin-right: 1.25%; margin-top: -0.9375%; }
@media screen and (max-width: 750px) { .header .logo-aichinow { width: 48%; margin-right: 0%; margin-top: -2.2666666667%; } }

.footer .banner { position: relative; background-color: #fff0e9; }
.footer .banner .logo-aichinow { position: absolute; bottom: 0; right: 0; width: 20.5625%; margin-right: 9.6875%; margin-bottom: -0.9375%; }
@media screen and (max-width: 750px) { .footer .banner .logo-aichinow { width: 34.6666666667%; margin-right: 0%; margin-bottom: -1.6%; } }
.footer .copy { padding: 15px 20px; background-color: #df3c46; font-size: 1.4rem; text-align: center; color: #fff; }
@media screen and (max-width: 750px) { .footer .copy { padding: 15px 4%; } }

.heading { font-size: 4.4rem; font-weight: 700; text-align: center; color: #df3c46; }
@media screen and (max-width: 750px) { .heading { font-size: 3.4rem; } }
.heading._line { position: relative; }
.heading._line::before { content: ''; position: absolute; bottom: 0; left: 50%; width: 90px; height: 3px; margin-left: -45px; margin-bottom: -35px; background-color: #df3c46; }
@media screen and (max-width: 750px) { .heading._line::before { margin-bottom: -20px; } }

.top-sec { background: url("../img/top_bg001.png") no-repeat center top 60px; background-size: 81.25% auto; }
.top-sec .top-bg { background: url("../img/top_bg003.png") no-repeat center bottom; background-size: 85.625% auto; }
.top-sec .top-con { padding: 40px 0 217px; }
@media screen and (max-width: 750px) { .top-sec .top-con { padding-bottom: 80px; } }
.top-sec .top-con .top-heading { margin-bottom: 40px; font-size: 3.4rem; font-weight: 700; text-align: center; }
@media screen and (max-width: 750px) { .top-sec .top-con .top-heading { font-size: 2.4rem; } }
.top-sec .top-con .top-heading span { font-size: 5.4rem; color: #df3c46; font-weight: 900; }
@media screen and (max-width: 750px) { .top-sec .top-con .top-heading span { font-size: 4.4rem; } }
.top-sec .top-con .top-lead { margin-bottom: 70px; font-size: 2.3rem; font-weight: 700; text-align: center; color: #df3c46; }
@media screen and (max-width: 750px) { .top-sec .top-con .top-lead { font-size: 2rem; } }
.top-sec .top-con .top-box { position: relative; padding: 60px 40px; background: rgba(224, 213, 139, 0.5); border-radius: 1em; }
@media screen and (max-width: 750px) { .top-sec .top-con .top-box { padding: 40px 20px; } }
.top-sec .top-con .top-box .top-box-txt-01 { margin-bottom: 45px; font-size: 2.3rem; font-weight: 700; text-align: center; line-height: 2; }
@media screen and (max-width: 750px) { .top-sec .top-con .top-box .top-box-txt-01 { font-size: 1.8rem; } }
.top-sec .top-con .top-box .top-box-txt-01 a { color: #0057ff; }
.top-sec .top-con .top-box .top-box-txt-01 span { color: #0057ff; }
.top-sec .top-con .top-box .top-box-txt-02 { font-size: 3.2rem; font-weight: 900; text-align: center; color: #df3c46; line-height: 1; }
@media screen and (max-width: 750px) { .top-sec .top-con .top-box .top-box-txt-02 { font-size: 1.8rem; line-height: 1.2; } }
.top-sec .top-con .top-box .top-box-txt-02 span { border-bottom: 7px solid #e2db88; }
.top-sec .top-con .top-box .top-icon { position: absolute; bottom: 0; right: 0; width: 11.5%; margin-right: 7.5%; margin-bottom: -10%; }

.method-sec { padding: 105px 0 195px; background: url("../img/method_bg002.png") center bottom; background-size: cover; }
@media screen and (max-width: 750px) { .method-sec { padding: 80px 0 40px; } }
.method-sec .heading { margin-bottom: 80px; }
.method-sec .method-step { display: flex; margin-bottom: 60px; }
@media screen and (max-width: 750px) { .method-sec .method-step { display: block; } }
.method-sec .method-step li { width: 31.6666666667%; margin-right: 2.5%; }
@media screen and (max-width: 750px) { .method-sec .method-step li { width: 100%; margin-right: 0; margin-bottom: 60px; } }
.method-sec .method-step li.step01 .step-link { margin-top: 40px; text-align: center; }
.method-sec .method-step li.step01 .step-link p.step-link-app { width: 174px; margin: 0 auto 20px; }
.method-sec .method-step li.step01 .step-link p.step-link-gp { width: 195px; margin: 0 auto; }
.method-sec .method-step li.step02 figure { margin-top: 55px; text-align: center; }
.method-sec .method-step li.step03 { margin-right: 0; }
@media screen and (max-width: 750px) { .method-sec .method-step li.step03 { margin-bottom: 0; } }
.method-sec .method-step li.step03 figure { position: absolute; bottom: 0; left: 50%; width: 76.5789473684%; margin-left: -38.1578947368%; margin-bottom: -3.9473684211%; }
@media screen and (max-width: 750px) { .method-sec .method-step li.step03 figure { position: static; width: 100%; margin: 20px auto 0; } }
.method-sec .method-step li .step-heading { margin-bottom: 10px; text-align: center; }
.method-sec .method-step li .step-box { padding-top: 10.7894736842%; background: url("../img/method_bg003.png") no-repeat left top; background-size: 100% auto; }
.method-sec .method-step li .step-box .step-box-m { position: relative; padding: 30px 40px 20px; background: url("../img/method_bg004.png") repeat-y; background-size: 100% auto; }
.method-sec .method-step li .step-box .step-box-b { padding-bottom: 12.1052631579%; background: url("../img/method_bg005.png") no-repeat left bottom; background-size: 100% auto; }
.method-sec .method-step li .step-box .step-box-fig { margin-bottom: 20px; text-align: center; }
.method-sec .method-step li .step-box .step-subheading { margin-bottom: 40px; font-size: 2.8rem; font-weight: 700; text-align: center; line-height: 1.4; }
.method-sec .method-step li .step-box .step-subheading .step-subheading-bg { background: linear-gradient(transparent 80%, #ffff8b 80%); }
.method-sec .method-step li .step-box .step-subheading .step-subheading-red { color: #df3c46; }
.method-sec .method-step li .step-box .step-box-txt { font-size: 1.8rem; font-weight: 300; }
.method-sec .method-step li .step-box .step-box-txt a { text-decoration: underline; color: #0057ff; }
.method-sec .method-step li .step-box .step-box-txt span { color: #0057ff; }
.method-sec .method-notes li { padding-left: 1.4em; text-indent: -1.4em; font-size: 1.8rem; font-weight: 300; }
@media screen and (max-width: 750px) { .method-sec .method-notes li { font-size: 1.4rem; } }

.present-sec { padding: 115px 0 100px; background: url("../img/present_bg001.png") no-repeat right -95px top 185px; }
@media screen and (max-width: 750px) { .present-sec { padding: 40px 0 80px; background-position: right -12.6666666667% top 24.6666666667%; background-size: 35.8666666667% auto; } }
.present-sec .present-bg { background: url("../img/present_bg002.png") no-repeat left -205px bottom; }
@media screen and (max-width: 750px) { .present-sec .present-bg { background-position: left -53.3333333333% bottom; background-size: 45.3333333333% auto; } }
.present-sec .heading { margin-bottom: 95px; }
@media screen and (max-width: 750px) { .present-sec .heading { margin-bottom: 60px; } }
.present-sec .present-lead { width: 100%; max-width: 650px; margin: 0 auto 90px; }
@media screen and (max-width: 750px) { .present-sec .present-lead { max-width: 100%; } }
.present-sec .present-lead .lead01 { font-size: 3.2rem; font-weight: 700; text-align: center; }
@media screen and (max-width: 750px) { .present-sec .present-lead .lead01 { font-size: 1.8rem; } }
.present-sec .present-lead .lead01 span { color: #df3c46; }
.present-sec .present-lead .lead01 .lead01-num { font-size: 6.0rem; }
@media screen and (max-width: 750px) { .present-sec .present-lead .lead01 .lead01-num { font-size: 3rem; } }
.present-sec .present-lead .lead02 { font-size: 1.8rem; font-weight: 300; text-align: right; }
@media screen and (max-width: 750px) { .present-sec .present-lead .lead02 { font-size: 1.4rem; } }
.present-sec .present-list { display: flex; justify-content: center; }
@media screen and (max-width: 750px) { .present-sec .present-list { display: block; } }
.present-sec .present-list li { width: 36.6666666667%; margin: 0 5.8333333333%; }
@media screen and (max-width: 750px) { .present-sec .present-list li { width: 100%; margin: 0 auto 60px; }
  .present-sec .present-list li:last-child { margin: 0 auto; } }
.present-sec .present-list li figure { position: relative; }
.present-sec .present-list li figure figcaption { position: absolute; top: 0; left: 0; width: 33.1818181818%; margin-top: -15.9090909091%; margin-left: -15.9090909091%; }
@media screen and (max-width: 750px) { .present-sec .present-list li figure figcaption { width: 26.0869565217%; margin-top: -10.1449275362%; margin-left: -2.8985507246%; } }
.present-sec .present-list li figure figcaption .present-list-num { position: relative; background: url("../img/present_bg003.png") no-repeat left top; background-size: 100% auto; }
.present-sec .present-list li figure figcaption .present-list-num::before { content: ''; display: block; padding-top: 100%; }
.present-sec .present-list li figure figcaption .present-list-num .present-list-num-in { position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: 3.2rem; color: #df3c46; font-weight: 700; text-align: center; line-height: 1; }
@media screen and (max-width: 960px) { .present-sec .present-list li figure figcaption .present-list-num .present-list-num-in { font-size: 2.2rem; } }
@media screen and (max-width: 750px) { .present-sec .present-list li figure figcaption .present-list-num .present-list-num-in { font-size: 1.8rem; } }
.present-sec .present-list li figure figcaption .present-list-num .present-list-num-in span { font-size: 6.0rem; }
@media screen and (max-width: 960px) { .present-sec .present-list li figure figcaption .present-list-num .present-list-num-in span { font-size: 4.0rem; } }
@media screen and (max-width: 750px) { .present-sec .present-list li figure figcaption .present-list-num .present-list-num-in span { font-size: 4rem; } }
.present-sec .present-list li .present-list-heading { position: relative; margin-top: -50px; padding: 25px 0 80px; background: url("../img/present_bg004.png") no-repeat center top; background-size: 100% auto; font-size: 2.6rem; font-weight: 700; color: #fff; text-align: center; line-height: 1.4; }
@media screen and (max-width: 960px) { .present-sec .present-list li .present-list-heading { font-size: 2rem; padding-top: 10px; } }
@media screen and (max-width: 750px) { .present-sec .present-list li .present-list-heading { padding-top: 20px; font-size: 2.4rem; } }
.present-sec .present-list li .present-list-txt { margin-top: -2em; font-size: 2.6rem; font-weight: 700; text-align: center; }

.rule-sec { padding: 160px 0 120px; background: url("../img/rule_bg001.png") no-repeat left top; background-size: cover; }
@media screen and (max-width: 750px) { .rule-sec { padding: 80px 0; } }
.rule-sec .rule-bg-r { background: url("../img/rule_bg002.png") no-repeat right -225px top 385px; }
@media screen and (max-width: 750px) { .rule-sec .rule-bg-r { background-position: right -53.3333333333% top 26.6666666667%; background-size: 54.6666666667% auto; } }
.rule-sec .rule-bg-l { background: url("../img/rule_bg003.png") no-repeat left -135px bottom; }
@media screen and (max-width: 750px) { .rule-sec .rule-bg-l { background-position: left -17.8666666667% bottom; background-size: 35.8666666667% auto; } }
.rule-sec .heading { margin-bottom: 70px; }
.rule-sec .rule-box { margin-bottom: 20px; }
.rule-sec .rule-box._box01 .rule-box-tag { margin-bottom: 20px; font-size: 3.0rem; font-weight: 700; color: #0080de; }
.rule-sec .rule-box._box04 p, .rule-sec .rule-box._box04 ol { margin-bottom: 35px; }
.rule-sec .rule-box._box04 ol li { padding-left: 4.3em; text-indent: -4.3em; }
.rule-sec .rule-box._box07 ol li { padding-left: 1.5em; text-indent: -1.5em; }
.rule-sec .rule-box .indent { padding-left: 1.3em; text-indent: -1.3em; }
.rule-sec .rule-box .rule-heading { margin-bottom: 20px; padding: 15px 25px; background-color: #df6057; font-size: 2.2rem; font-weight: 700; color: #fff; border-radius: 2em; }
@media screen and (max-width: 750px) { .rule-sec .rule-box .rule-heading { padding: 10px 20px; } }
.rule-sec .rule-box .rule-box-txt { font-size: 1.5rem; line-height: 2; }
.rule-sec .rule-box .rule-box-txt a { text-decoration: underline; color: #0057ff; }
.rule-sec .rule-box .rule-box-txt span { color: #0057ff; }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

.w100 { width: 100%; }

.js-anime-fadein { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-fadein.js-anime-on { animation-name: fadeIn; }

@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
.js-anime-slide { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slide.js-anime-on { animation-name: slide; }

@keyframes slide { 0% { opacity: 0; transform: translateY(100px); }
  100% { opacity: 1; transform: translateY(0); } }
.js-anime-slideleft { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideleft.js-anime-on { animation-name: slideLeft; }

@keyframes slideLeft { 0% { opacity: 0; transform: translateX(-100px); }
  100% { opacity: 1; transform: translateX(0); } }
.js-anime-slideright { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideright.js-anime-on { animation-name: slideRight; }

@keyframes slideRight { 0% { opacity: 0; transform: translateX(100px); }
  100% { opacity: 1; transform: translateX(0); } }
@media print { .js-anime-fadein, .js-anime-slide, .js-anime-slideleft, .js-anime-slideright { opacity: initial; } }

/*# sourceMappingURL=style.css.map */
