@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;400;500;700&display=swap");
.inner { width: 100%; max-width: 1040px; padding: 0 20px; margin: 0 auto; }
@media (max-width: 959px) { .inner { max-width: 88%; padding: 0; } }

.inner_w { width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 20px; }
@media (max-width: 959px) { .inner_w { max-width: 88%; padding: 0; } }

.inner_s { width: 100%; max-width: 970px; margin: 0 auto; padding: 0 20px; }
@media (max-width: 959px) { .inner_s { max-width: 88%; padding: 0; } }

.inner_ss { width: 100%; max-width: 800px; margin: 0 auto; padding: 0 20px; }
@media (max-width: 959px) { .inner_ss { max-width: 88%; padding: 0; } }

.inner-m { width: 100%; max-width: 1020px; padding: 0 20px; margin: 0 auto; }
@media (max-width: 959px) { .inner-m { max-width: 88%; padding: 0; } }

.inner { width: 100%; max-width: 940px; padding: 0 20px; margin: 0 auto; }
@media (max-width: 959px) { .inner { max-width: 88%; padding: 0; } }

body { background: url(../img/back/back01.png) no-repeat top left/29% auto; }
@media (max-width: 959px) { body { background: url(../img/back/back01.png) no-repeat top 4vw left -14vw/85% auto; } }

body.thanks { background: none; }

.PageTitle { margin-top: 130px; padding: 0 0 130px 0; background: url(../img/back/back02.png) no-repeat bottom right/27% auto; }
@media (max-width: 959px) { .PageTitle { position: relative; margin: 0; padding: 41vw 0 10vw 0; background: none; } }
.PageTitle:after { position: absolute; right: 0; bottom: -22vw; content: ""; display: block; width: 100%; height: 50vw; background: url(../img/back/back07.png) no-repeat bottom right -26vw/62% auto; }
.PageTitle ul { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; width: 100%; max-width: 1160px; padding: 0 20px; margin: 0 auto; }
@media (max-width: 959px) { .PageTitle ul { position: relative; z-index: 10; -webkit-flex-direction: column; flex-direction: column; max-width: 88%; padding: 0; } }
.PageTitle ul li:nth-child(1) { width: 560px; }
@media (max-width: 959px) { .PageTitle ul li:nth-child(1) { width: 100%; } }
.PageTitle ul li:nth-child(2) { flex: 1; padding-top: 50px; }
@media (max-width: 959px) { .PageTitle ul li:nth-child(2) { padding-top: 14vw; } }
.PageTitle h2 { color: #202020; font-size: 42px; font-weight: 700; line-height: 100%; font-family: Noto Sans JP; }
@media (max-width: 959px) { .PageTitle h2 { font-size: 6.5vw; text-align: center; } }
.PageTitle h2 i { display: flex; overflow: hidden; color: #0073FF; font-size: 20px; font-weight: 700; font-family: Noto Sans JP; }
@media (max-width: 959px) { .PageTitle h2 i { -webkit-justify-content: center; justify-content: center; font-size: 4vw; margin-bottom: 3vw; } }
.PageTitle h2 i p { margin: 0; opacity: 0; animation: textanimation 1s forwards; }
.PageTitle h2 i p:nth-child(1) { animation-delay: 0.05s; }
.PageTitle h2 i p:nth-child(2) { animation-delay: 0.1s; }
.PageTitle h2 i p:nth-child(3) { animation-delay: 0.15s; }
.PageTitle h2 i p:nth-child(4) { animation-delay: 0.2s; }
.PageTitle h2 i p:nth-child(5) { animation-delay: 0.25s; }
.PageTitle h2 i p:nth-child(6) { animation-delay: 0.3s; }
.PageTitle h2 i p:nth-child(7) { animation-delay: 0.35s; }
.PageTitle h2 i p:nth-child(8) { animation-delay: 0.4s; }
.PageTitle h2 i p:nth-child(9) { animation-delay: 0.45s; }
.PageTitle h2 i p:nth-child(10) { animation-delay: 0.5s; }
.PageTitle h2 i p:nth-child(11) { animation-delay: 0.55s; }
.PageTitle h2 i p:nth-child(12) { animation-delay: 0.6s; }
.PageTitle h2 i p:nth-child(13) { animation-delay: 0.65s; }
.PageTitle h2 i p:nth-child(14) { animation-delay: 0.7s; }
.PageTitle h2 i p:nth-child(15) { animation-delay: 0.75s; }
@keyframes textanimation { 0% { opacity: 0; }
  100% { opacity: 1; } }
.PageTitle h3 { margin-top: 160px; color: #202020; font-size: 32px; font-weight: 700; line-height: 60px; font-family: Noto Sans JP; }
@media (max-width: 959px) { .PageTitle h3 { margin-top: 17vw; font-size: 3.8vw; line-height: 1.8em; } }
.PageTitle h3 + p { margin-top: 30px; font-size: 16px; font-weight: 500; line-height: 36px; letter-spacing: 0.5px; font-family: Noto Sans JP; }
@media (max-width: 959px) { .PageTitle h3 + p { margin: 5vw 0 0 0; font-size: 3.2vw; line-height: 2.1em; } }
.PageTitle img { display: block; width: 374px; margin: 0 auto; }
@media (max-width: 959px) { .PageTitle img { display: block; width: 65%; margin: 0 auto; } }

.Contact_Tel { width: 100%; max-width: 1000px; padding: 0 20px; margin: 80px auto 95px auto; }
@media (max-width: 959px) { .Contact_Tel { width: 90%; padding: 0; margin: 22vw auto 0 auto; } }
.Contact_Tel h2 { margin-bottom: 0.9em; font-size: 26px; font-weight: 700; font-family: Noto Sans JP; }
@media (max-width: 959px) { .Contact_Tel h2 { margin-bottom: 0.7em; font-size: 5.2vw; text-align: center; } }
.Contact_Tel p { font-size: 16px; font-weight: 500; line-height: 36px; font-family: Noto Sans JP; }
@media (max-width: 959px) { .Contact_Tel p { font-size: 3.4vw; line-height: 2.1em; text-align: center; } }
.Contact_Tel a:link, .Contact_Tel a:visited { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 475px; height: 87px; margin-top: 15px; margin-bottom: 12px; border-radius: 9999px; box-shadow: 5px 5px 9.1px 0px #C7C7C7; background: linear-gradient(90deg, #4498FF 0%, #0022CC 100%); padding: 0; }
@media (max-width: 959px) { .Contact_Tel a:link, .Contact_Tel a:visited { width: 78%; height: 23.5vw; margin: 7vw auto 4.5vw auto; } }
.Contact_Tel a:link .Tel-Contents, .Contact_Tel a:visited .Tel-Contents { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 471px; height: 83px; padding: 0; background: #fff; border-radius: 9999px; }
@media (max-width: 959px) { .Contact_Tel a:link .Tel-Contents, .Contact_Tel a:visited .Tel-Contents { width: 100%; height: 22.5vw; margin-top: -1vw; } }
.Contact_Tel a:link:hover, .Contact_Tel a:visited:hover { transform: translateY(-2px); box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.3), 0 0 5px rgba(0, 0, 0, 0.3); }
.Contact_Tel a:link em, .Contact_Tel a:visited em { display: block; color: #0022CC; font-size: 24px; font-weight: 700; line-height: 100%; font-style: normal; text-align: center; font-family: Noto Sans JP; }
@media (max-width: 959px) { .Contact_Tel a:link em, .Contact_Tel a:visited em { font-size: 5vw; } }
.Contact_Tel a:link em i, .Contact_Tel a:visited em i { display: inline; margin-right: 5px; }
@media (max-width: 959px) { .Contact_Tel a:link em i, .Contact_Tel a:visited em i { margin-right: 2vw; } }
.Contact_Tel a:link i, .Contact_Tel a:visited i { display: block; margin-top: 9px; color: #0022CC; font-size: 13px; font-weight: 400; line-height: 100%; font-family: Noto Sans JP; }
@media (max-width: 959px) { .Contact_Tel a:link i, .Contact_Tel a:visited i { font-size: 3vw; margin-top: 2vw; } }

.Contact_Mail { width: 100%; max-width: 1000px; padding: 0 20px; margin: 0 auto 140px auto; }
@media (max-width: 959px) { .Contact_Mail { margin: 29vw auto 0 auto; } }
.Contact_Mail h2 { margin-bottom: 0.9em; font-size: 26px; font-weight: 700; font-family: Noto Sans JP; }
@media (max-width: 959px) { .Contact_Mail h2 { margin-bottom: 0.7em; font-size: 5.2vw; text-align: center; } }
.Contact_Mail p { font-size: 16px; font-weight: 500; line-height: 36px; font-family: Noto Sans JP; }
@media (max-width: 959px) { .Contact_Mail p { font-size: 3.4vw; line-height: 2.1em; text-align: center; } }

.Contact_contents { width: 100%; max-width: 1000px; padding: 0 20px; margin: 0 auto 220px auto; }
@media (max-width: 959px) { .Contact_contents { width: 85%; padding: 0; margin: 18vw auto 7vw auto; } }
.Contact_contents dl { overflow: hidden; width: 87%; margin-top: 98px; }
@media (max-width: 959px) { .Contact_contents dl { width: 100%; margin-top: 0; } }
.Contact_contents dl dt { clear: both; float: left; width: 31%; margin: 0; padding: 13px 0 0 0; font-size: 17px; font-weight: 500; letter-spacing: 0; font-family: Noto Sans JP; }
@media (max-width: 959px) { .Contact_contents dl dt { float: none; width: 100%; padding: 0; margin-bottom: 3vw; font-size: 3.4vw; } }
.Contact_contents dl dd { float: right; width: 69%; margin: 0; padding: 0; }
@media (max-width: 959px) { .Contact_contents dl dd { float: none; width: 100%; margin-bottom: 3vw; } }
.Contact_contents .wpcf7 p { margin: 0 0 0.5em 0; font-size: 17.5px; font-weight: 500; line-height: 2.2em; }
@media (max-width: 959px) { .Contact_contents .wpcf7 p { font-size: 3.3vw; margin: 0 0 0.2em 0; } }
.Contact_contents .wpcf7 dd p { margin: 0; font-size: 16px; font-weight: 500; line-height: 30px; }
.Contact_contents dt i { display: inline-block; padding: 3px 0.8em 5px 0.8em; margin-right: 1em; color: #fff; font-size: 14px; font-weight: 400; line-height: 100%; border-radius: 9999px; background: #0022CC; }
@media (max-width: 959px) { .Contact_contents dt i { font-size: 3.2vw; padding: 8px 2em 11px 2em; } }
.Contact_contents dt span { display: inline-block; width: 50px; margin-right: 1em; color: #fff; font-size: 14px; font-weight: 400; line-height: 100%; border-radius: 9999px; background: #fff; }
@media (max-width: 959px) { .Contact_contents dt span { width: auto; margin-right: 1em; padding: 8px 2em 11px 2em; color: #0022CC; font-size: 3.2vw; background: #fff; border: 2px solid #0022CC; } }

input[type="text"], input[type="email"], input[type="tel"], textarea, button, select { margin: 0; padding: 0; border: none; border-radius: 0; background: none; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 100%; margin: 0 0 36px 0; padding: 0.6em 1em 0.64em 1.5em; font-size: 17px; font-family: Noto Sans JP; font-weight: 400; line-height: 1.5em; background: #F6F6F6; border: 1px solid #909090; }
@media (max-width: 959px) { input[type="text"], input[type="email"], input[type="tel"], textarea, button, select { font-size: 3.2vw; margin-bottom: 1em; padding: 1.3em 1em 1.4em 1.2em; border: none; } }
input[type="text"]::placeholder, input[type="email"]::placeholder, input[type="tel"]::placeholder, textarea::placeholder, button::placeholder, select::placeholder { color: #939393; }

input[type="text"].zip, input[type="text"].add1 { margin: 0 0 13px 0; }
@media (max-width: 959px) { input[type="text"].zip, input[type="text"].add1 { margin: 0 0 3vw 0; } }

textarea { height: auto; vertical-align: bottom; }
@media (max-width: 959px) { textarea { height: 52vw; margin: 0; } }

input::-ms-clear, input::-ms-reveal { visibility: hidden; }

select { color: #939393; background: #F6F6F6 url(../img/contact/select.png) no-repeat right 1.5em center/1em auto; }
@media (max-width: 959px) { select { width: 100%; color: #222; border: 2px solid #0022CC; background: #fff url(../img/contact/select.png) no-repeat right 1.5em center/1em auto; } }

select.is-empty { color: #939393; }

.privacy { padding: 1em 0 5px 0; font-size: 16px; font-weight: 500; font-family: Noto Sans JP; }
@media (max-width: 959px) { .privacy { padding-top: 0.7em; font-size: 3.3vw; font-weight: 500; text-align: center; } }
.privacy span.wpcf7-list-item { line-height: 100% !important; }
.privacy span.wpcf7-list-item-label { line-height: 100% !important; }
.privacy label { line-height: 100% !important; }
.privacy #doui_check { width: 1.2em; height: 1.2em; margin: 0 8px 0 0; }
.privacy a:link, .privacy a:visited { line-height: 100%; text-decoration: underline; text-underline-offset: 4px; }
.privacy a:hover { opacity: 0.7; }

input[type="submit"] { display: block; cursor: pointer; width: 293px; padding: 1.1em 0; margin: 1.8em auto 2em auto; color: #fff; font-size: 18px; font-weight: 700; font-family: Noto Sans JP; line-height: 100%; text-align: center; border-radius: 9999px; border: 2px solid #fff; background: linear-gradient(90deg, #4498FF 0%, #0022CC 100%); box-shadow: 5px 5px 9.1px 0px #C7C7C7; -webkit-transition: all .3s; transition: all .3s; }
@media (max-width: 959px) { input[type="submit"] { width: 75%; margin: 1.5em auto 0 auto; padding: 1.7em 0 1.7em 0; font-size: 3.3vw; border: 0.6vw solid #FFF; border-bottom: 0.9vw solid #FFF; border-top: none; } }
input[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.3), 0 0 5px rgba(0, 0, 0, 0.3); }

#result { margin-top: 1em; font-size: 15px; }
@media (max-width: 959px) { #result { font-size: 3.5vw; } }

.wpcf7-not-valid-tip, .err-msg { width: 100%; margin: -1.5em 0 1.5em 0; color: red; font-weight: 500; font-family: Noto Sans JP; }

.Contact_thanks { margin-top: 190px; padding: 0 0 200px 0; }
@media (max-width: 959px) { .Contact_thanks { margin-top: 35vw; padding: 0 0 15vw 0; } }
.Contact_thanks ul { display: -webkit-flex; display: flex; -webkit-box-align: start; align-items: flex-start; width: 100%; max-width: 1160px; padding: 0 20px; margin: 0 auto; }
@media (max-width: 959px) { .Contact_thanks ul { -webkit-flex-direction: column; flex-direction: column; max-width: 88%; padding: 0; } }
.Contact_thanks ul li:nth-child(1) { width: 665px; }
@media (max-width: 959px) { .Contact_thanks ul li:nth-child(1) { width: 100%; } }
.Contact_thanks ul li:nth-child(2) { flex: 1; padding: 70px 0 0 60px; }
@media (max-width: 959px) { .Contact_thanks ul li:nth-child(2) { display: none; } }
.Contact_thanks ul li:nth-child(2) img { width: 256px; }
.Contact_thanks h2 { margin-bottom: 0.9em; font-size: 26px; font-weight: 700; letter-spacing: 0; font-family: Noto Sans JP; }
@media (max-width: 959px) { .Contact_thanks h2 { margin-bottom: 0.9em; font-size: 5vw; line-height: 1.8em; } }
.Contact_thanks p { font-size: 16px; font-weight: 500; line-height: 30px; font-family: Noto Sans JP; }
@media (max-width: 959px) { .Contact_thanks p { font-size: 3.35vw; line-height: 2.1em; } }
.Contact_thanks a:link, .Contact_thanks a:visited { display: block; cursor: pointer; width: 293px; padding: 1.1em 0; margin: 4em 0 2em 0; color: #fff; font-size: 18px; font-weight: 700; font-family: Noto Sans JP; line-height: 100%; text-align: center; border-radius: 9999px; border: 2px solid #fff; background: linear-gradient(90deg, #4498FF 0%, #0022CC 100%); box-shadow: 5px 5px 9.1px 0px #C7C7C7; -webkit-transition: all .3s; transition: all .3s; }
@media (max-width: 959px) { .Contact_thanks a:link, .Contact_thanks a:visited { width: 70%; margin: 3em auto 0 auto; padding: 1.3em 0 1.3em 0; font-size: 3.3vw; } }
.Contact_thanks a:link:hover, .Contact_thanks a:visited:hover { transform: translateY(-2px); box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.3), 0 0 5px rgba(0, 0, 0, 0.3); }
