@charset "UTF-8";
@import url(aos.css);
@import url("https://fonts.googleapis.com/css2?family=Sawarabi+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap");
.inner, .MainImage, .Contact { width: 960px; margin: 0 auto; }
@media (max-width: 959px) { .inner, .MainImage, .Contact { width: 85%; } }

.inner-m { width: 1040px; margin: 0 auto; }
@media (max-width: 959px) { .inner-m { width: 85%; } }

.inner-s { width: 880px; margin: 0 auto; }
@media (max-width: 959px) { .inner-s { width: 80%; } }

.MainImage { position: relative; margin: 160px auto 120px auto; }
@media (max-width: 959px) { .MainImage { position: static; margin: 18vw auto 20vw auto; } }
.MainImage img { position: absolute; top: 0; right: -30px; width: 580px; height: auto; }
@media (max-width: 959px) { .MainImage img { position: static; display: block; width: 100%; margin: 6.5vw auto; } }
@media (max-width: 959px) { .MainImage .PC { display: none; } }
.MainImage .Contents { position: relative; z-index: 10; padding: 240px 0 0 0; }
@media (max-width: 959px) { .MainImage .Contents { padding: 0 0 0 0; } }
.MainImage .Contents h1 { font-size: 41px; line-height: 100%; letter-spacing: 0.1em; font-family: "Sawarabi Mincho", serif; }
@media (max-width: 959px) { .MainImage .Contents h1 { font-size: 7vw; } }
.MainImage .Contents h1 i { display: block; margin-top: 1.2em; font-size: 0.55em; letter-spacing: 0.05em; font-family: "Sawarabi Mincho", serif; }
@media (max-width: 959px) { .MainImage .Contents h1 i { margin-top: 0.6em; } }
.MainImage .Contents > div { margin-left: 40px; }
@media (max-width: 959px) { .MainImage .Contents > div { margin-left: 0; } }
.MainImage .Contents h2 { margin: 2.35em 0 1.15em 0; font-size: 29px; line-height: 100%; line-height: 1.5em; font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; text-shadow: 2px 2px 2px #fff, -2px -2px 2px #fff, -2px 2px 2px #fff,  2px -2px 2px #fff, 2px 0 2px #fff, -2px  0 2px #fff, 0 2px 2px #fff,  0 -2px 2px #fff; }
@media (max-width: 959px) { .MainImage .Contents h2 { margin: 2.35em 0 2.2em 0; font-size: 5vw; line-height: 1.8em; letter-spacing: 0; text-shadow: none; } }
.MainImage .Contents p { font-size: 17px; line-height: 2.65em; font-family: "Noto Sans JP", sans-serif; }
@media (max-width: 959px) { .MainImage .Contents p { font-size: 3.5vw; line-height: 2.1em; } }

body { background: #fff; }

.MainImage-bg { overflow: hidden; border-radius: 0 0 150px 150px; background: #faf8f3; }
@media (max-width: 959px) { .MainImage-bg { border-radius: 0; } }

.MainImage { margin-bottom: 95px; }
@media (max-width: 959px) { .MainImage { margin-bottom: 10vw; } }
.MainImage .Contents { padding-top: 210px; }
@media (max-width: 959px) { .MainImage .Contents { padding-top: 0; } }
.MainImage .Contents p { margin-top: 45px; }
@media (max-width: 959px) { .MainImage .Contents p { margin-top: 6vw; } }

.Contact { margin: 120px auto 140px auto; }
@media (max-width: 959px) { .Contact { padding-bottom: 4vw; margin: 20vw auto; } }
.Contact h2 { margin: 0 0 35px 0; font-size: 30px; line-height: 100%; letter-spacing: 0.1em; font-family: "Sawarabi Mincho", serif; }
@media (max-width: 959px) { .Contact h2 { margin: 0 0 1.5em 0; font-size: 4.2vw; } }
.Contact dl { width: 775px; margin: 0 auto; font-size: 18px; line-height: 1.8em; }
@media (max-width: 959px) { .Contact dl { width: 100%; font-size: 3.5vw; } }
.Contact dl dt { clear: both; float: left; width: 32%; padding: 42px 0; font-weight: 500; }
@media (max-width: 959px) { .Contact dl dt { float: none; width: 100%; padding: 0 0 1vw 0; } }
.Contact dl dt i { margin-left: 1.5em; color: #e2745e; }
@media (max-width: 959px) { .Contact dl dt i { margin-left: 0.5em; } }
@media (max-width: 959px) { .Contact dl dt:last-of-type { padding: 0; } }
.Contact dl dd { float: left; width: 68%; margin: 0; padding: 30px 0; }
@media (max-width: 959px) { .Contact dl dd { float: none; width: 100%; padding: 0 0 4.5vw 0; border-top: none; } }
@media (max-width: 959px) { .Contact dl dd:last-of-type { padding: 0; } }
.Contact input[type="text"], .Contact input[type="email"], .Contact input[type="tel"], .Contact textarea, .Contact button { margin: 0; padding: 0; border: none; border-radius: 0; background: none; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; font-size: 16px; font-weight: 400; }
@media (max-width: 959px) { .Contact input[type="text"], .Contact input[type="email"], .Contact input[type="tel"], .Contact textarea, .Contact button { font-size: 3.5vw; } }
.Contact input[type="text"], .Contact input[type="email"], .Contact input[type="tel"], .Contact textarea { padding: 0 1em 0 3em; width: 100%; height: 3.2em; outline: none; font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; border: 2px solid #483836; background: #fff; border-radius: 15px; }
@media (max-width: 959px) { .Contact input[type="text"], .Contact input[type="email"], .Contact input[type="tel"], .Contact textarea { height: 2.5em; margin-bottom: 2vw; padding: 0 1em; border-radius: 5px; border: 1px solid #483836; } }
.Contact textarea { padding: 1em 0.9em; height: auto; }
@media (max-width: 959px) { .Contact textarea { height: 14em; } }
.Contact input::-ms-clear, .Contact input::-ms-reveal { visibility: hidden; }
.Contact input[type="checkbox"] { display: none; }
.Contact label { position: relative; display: inline-block; width: 1.5em; height: 1.5em; margin-right: 0.5em; cursor: pointer; -webkit-transition: all .2s; transition: all .2s; }
@media (max-width: 959px) { .Contact label { width: 1.5em; height: 1.5em; } }
.Contact label::before, .Contact label::after { position: absolute; content: ''; -webkit-transition: all .2s; transition: all .2s; }
.Contact label::before { top: 1em; left: 0; width: 1.5em; height: 1.5em; margin-top: -1em; background: #fff; border: 1px solid #1d1412; }
@media (max-width: 959px) { .Contact label::before { width: 1.5em; height: 1.5em; top: 1.5em; margin-top: -1.5em; } }
.Contact label::after { opacity: 0; top: 0.55em; left: 0.2em; width: 1em; height: 0.5em; margin-top: -4px; border-left: 3px solid #1d1412; border-bottom: 3px solid #1d1412; -webkit-transform: rotate(-45deg) scale(0.5); transform: rotate(-45deg) scale(0.5); }
@media (max-width: 959px) { .Contact label::after { top: 0.6em; } }
.Contact label:hover::before { background: #fff; }
.Contact input[type="checkbox"]:checked + label::before { background: #fff; border: 1px solid #1d1412; }
.Contact input[type="checkbox"]:checked + label::after { opacity: 1; -webkit-transform: rotate(-45deg) scale(1); transform: rotate(-45deg) scale(1); }
.Contact a:hover { opacity: 0.7; }
.Contact .privacy { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; font-size: 18px; font-weight: 500; }
@media (max-width: 959px) { .Contact .privacy { font-size: 3.5vw; padding-left: 8vw; } }
.Contact .privacy a:link, .Contact .privacy a:visited { color: #e2745e; }
.Contact .privacy i { margin-left: 0.5em; color: #e2745e; }
.Contact dl + .privacy { margin-top: 0; }
.Contact input[type="submit"] { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; cursor: pointer; width: 210px; height: 53px; margin: 1.8em auto 0 auto; color: #fff; font-size: 18px; line-height: 100%; text-align: center; font-weight: 500; border-radius: 100px; background: #e2745e; border: 1px solid #e2745e; -webkit-transition: all .3s; transition: all .3s; }
@media (max-width: 959px) { .Contact input[type="submit"] { width: 40%; height: 10vw; font-size: 3.5vw; } }
.Contact input[type="submit"]:hover { opacity: 0.7; }
.Contact #result { margin-top: 1em; text-align: center; }
.Contact .err-msg { width: 100%; color: red; font-size: 16px; }
@media (max-width: 959px) { .Contact .err-msg { font-size: 3.5vw; } }
.Contact dl + .privacy .err-msg { margin-top: 1.5em; }
