@charset "utf-8";
/* CSS Document */

.wpcf7-spinner { display: none !important;}


/*PC*/
@media screen and (min-width: 1680px) {


.head { width: 100%; height: 250px; background: #EEE; align-content: center;}
.head .box { width: 1680px; margin: auto; padding: 0 130px;}
.head .box h2 { font-size: 36px; font-weight: 600; margin-bottom: 5px;}
.head .box p { font-size: 18px;}


.cont01 {}
.cont01 .inner { width: 1280px; margin: 90px auto 90px;}
.cont01 .inner {}
.cont01 .inner h3 { text-align: center; padding-bottom: 50px; margin-bottom: 20px; position: relative; font-size: 36px;}
.cont01 .inner h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 10px; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 20px;}
.cont01 .inner .txt { text-align: center;}
.cont01 .inner .txt p {}
.cont01 .inner .txt p:nth-of-type(1) { font-size: 80px; font-family: "Barlow", sans-serif; font-weight: 500; padding-left: 1.2em; display: inline-block; position: relative;}
.cont01 .inner .txt p:nth-of-type(1)::before { content: ""; background: url(../images/contact/icon_freedial.png) center center no-repeat; background-size: cover; width: 0.8em; height: 0.8em; position: absolute; top: 0; bottom: 0; left: 0; margin: auto;}
.cont01 .inner .txt p:nth-of-type(2) { margin-top: 0;}


.cont02 {}
.cont02 .inner { width: 1280px; margin: 90px auto 90px;}
.cont02 .inner h3 { text-align: center; padding-bottom: 50px; margin-bottom: 20px; position: relative; font-size: 36px;}
.cont02 .inner h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 10px; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 20px;}

.cont02 .inner .txt01 { text-align: center; margin: 50px auto 50px;}
.cont02 .inner .txt01 .box { font-size: 18px; display: inline-block; width: 800px; margin: auto; text-align: center;}
.cont02 .inner .txt01 .box p { margin: 20px 0; display: inline-block; text-align: left;}
.cont02 .inner .txt01 p:nth-of-type(1) { font-size: 19px;}
.cont02 .inner .txt01 p:nth-of-type(2) { font-size: 16px;}
.cont02 .inner table { width: 1000px; border-collapse: collapse; margin: auto; font-size: 18px; font-feature-settings: "palt"; letter-spacing: 0.05em;}
.cont02 .inner table th { width: 300px; font-weight: 400; text-align: left; vertical-align: top; padding: 40px 0 40px 40px; border-bottom: dotted 1px #333; position: relative;}
.cont02 .inner table th .need { display: inline-block; width: 3.4em; height: 22px; text-align: center; align-content: center; background: #c70000; font-size: 12px; color: var(--color00); border-radius: 3px; position: absolute; top: 44px; right: 20px;}
.cont02 .inner table td { padding: 30px 20px; border-bottom: dotted 1px #333;}
.cont02 .inner table tr:nth-of-type(1) th { border-top: dotted 1px #333;}
.cont02 .inner table tr:nth-of-type(1) td { border-top: dotted 1px #333;}
.cont02 .inner table td label { display: block; padding: 10px 0;}

.cont02 .inner .txt02 { width: 1200px; margin: 50px auto 50px; text-align: center; font-size: 18px;}
.cont02 .inner .txt02 p { margin: 20px 0;}
.cont02 .inner .txt02 p a { color: var(--color01); text-decoration: underline;}
.cont02 .inner .txt02 .btn { margin-top: 70px;}
.cont02 .inner .txt02 .btn input { width: 600px; height: 80px; background: var(--color01); border: solid 1px var(--color01); color: var(--color00); cursor: pointer; border-radius: 5px; transition: ease .5s;}
.cont02 .inner .txt02 .btn input:hover { background: var(--color00); color: var(--color01); transition: ease .5s;}


.cont03 { scroll-margin-top: 80px;}
.cont03 .inner { width: 1000px; margin: 90px auto 90px;}
.cont03 .inner .txt { width: 800px; margin: 90px auto 90px; font-size: 16px;}
.cont03 .inner .txt h3 { text-align: center; padding-bottom: 50px; margin-bottom: 20px; position: relative; font-size: 36px;}
.cont03 .inner .txt h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 10px; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 20px;}
.cont03 .inner .txt h4 { margin: 40px 0 10px; font-weight: 600;}
.cont03 .inner .txt p { margin: 10px 0;}
.cont03 .inner .txt ol { margin: 10px 0; counter-reset: number 0;}
.cont03 .inner .txt ol li { padding-left: 1.1em; position: relative;}
.cont03 .inner .txt ol li::before { content: counter(number) "."; counter-increment: number 1; position: absolute; top: 0; left: 0;} 


}


/*PC*/
@media print, screen and (min-width: 768px) and ( max-width: 1679px) {


.head { width: 100%; height: 14.8810vw; background: #EEE; align-content: center;}
.head .box { width: 100.0000vw; margin: auto; padding: 0 7.7381vw;}
.head .box h2 { font-size: 2.1429vw; font-weight: 600; margin-bottom: 0.2976vw;}
.head .box p { font-size: 1.0714vw;}


.cont01 {}
.cont01 .inner { width: 76.1905vw; margin: 5.3571vw auto 5.3571vw;}
.cont01 .inner {}
.cont01 .inner h3 { text-align: center; padding-bottom: 2.9762vw; margin-bottom: 1.1905vw; position: relative; font-size: 2.1429vw;}
.cont01 .inner h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 0.5952vw; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 1.1905vw;}
.cont01 .inner .txt { text-align: center;}
.cont01 .inner .txt p {}
.cont01 .inner .txt p:nth-of-type(1) { font-size: 4.7619vw; font-family: "Barlow", sans-serif; font-weight: 500; padding-left: 1.2em; display: inline-block; position: relative;}
.cont01 .inner .txt p:nth-of-type(1)::before { content: ""; background: url(../images/contact/icon_freedial.png) center center no-repeat; background-size: cover; width: 0.8em; height: 0.8em; position: absolute; top: 0; bottom: 0; left: 0; margin: auto;}
.cont01 .inner .txt p:nth-of-type(2) { margin-top: 0;}


.cont02 {}
.cont02 .inner { width: 76.1905vw; margin: 5.3571vw auto 5.3571vw;}
.cont02 .inner h3 { text-align: center; padding-bottom: 2.9762vw; margin-bottom: 1.1905vw; position: relative; font-size: 2.1429vw;}
.cont02 .inner h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 0.5952vw; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 1.1905vw;}

.cont02 .inner .txt01 { text-align: center; margin: 2.9762vw auto 2.9762vw;}
.cont02 .inner .txt01 .box { font-size: 1.0714vw; display: inline-block; width: 47.6190vw; margin: auto; text-align: center;}
.cont02 .inner .txt01 .box p { margin: 1.1905vw 0; display: inline-block; text-align: left;}
.cont02 .inner .txt01 p:nth-of-type(1) { font-size: 1.1310vw;}
.cont02 .inner .txt01 p:nth-of-type(2) { font-size: 0.9524vw;}
.cont02 .inner table { width: 59.5238vw; border-collapse: collapse; margin: auto; font-size: 1.0714vw; font-feature-settings: "palt"; letter-spacing: 0.05em;}
.cont02 .inner table th { width: 17.8571vw; font-weight: 400; text-align: left; vertical-align: top; padding: 2.3810vw 0 2.3810vw 2.3810vw; border-bottom: dotted 1px #333; position: relative;}
.cont02 .inner table th .need { display: inline-block; width: 3.4em; height: 1.3095vw; text-align: center; align-content: center; background: #c70000; font-size: 0.7143vw; color: var(--color00); border-radius: 0.1786vw; position: absolute; top: 2.6190vw; right: 1.1905vw;}
.cont02 .inner table td { padding: 1.7857vw 1.1905vw; border-bottom: dotted 1px #333;}
.cont02 .inner table tr:nth-of-type(1) th { border-top: dotted 1px #333;}
.cont02 .inner table tr:nth-of-type(1) td { border-top: dotted 1px #333;}
.cont02 .inner table td label { display: block; padding: 0.5952vw 0;}

.cont02 .inner .txt02 { width: 71.4286vw; margin: 2.9762vw auto 2.9762vw; text-align: center; font-size: 1.0714vw;}
.cont02 .inner .txt02 p { margin: 1.1905vw 0;}
.cont02 .inner .txt02 p a { color: var(--color01); text-decoration: underline;}
.cont02 .inner .txt02 .btn { margin-top: 4.1667vw;}
.cont02 .inner .txt02 .btn input { width: 35.7143vw; height: 4.7619vw; background: var(--color01); border: solid 1px var(--color01); color: var(--color00); cursor: pointer; border-radius: 0.2976vw; transition: ease .5s;}
.cont02 .inner .txt02 .btn input:hover { background: var(--color00); color: var(--color01); transition: ease .5s;}


.cont03 { scroll-margin-top: 4.7619vw;}
.cont03 .inner { width: 59.5238vw; margin: 5.3571vw auto 5.3571vw;}
.cont03 .inner .txt { width: 47.6190vw; margin: 5.3571vw auto 5.3571vw; font-size: 0.9524vw;}
.cont03 .inner h3 { text-align: center; padding-bottom: 2.9762vw; margin-bottom: 1.1905vw; position: relative; font-size: 2.1429vw;}
.cont03 .inner h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 0.5952vw; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 1.1905vw;}
.cont03 .inner .txt h4 { margin: 2.3810vw 0 0.5952vw; font-weight: 600;}
.cont03 .inner .txt p { margin: 0.5952vw 0;}
.cont03 .inner .txt ol { margin: 0.5952vw 0; counter-reset: number 0;}
.cont03 .inner .txt ol li { padding-left: 1.1em; position: relative;}
.cont03 .inner .txt ol li::before { content: counter(number) "."; counter-increment: number 1; position: absolute; top: 0; left: 0;} 


}



/*sp*/
@media only screen and (max-width: 767px) {


.head { width: 100%; height: 29.3333vw; background: #EEE; align-content: center;}
.head .box { margin: auto; padding: 0 6.6667vw;}
.head .box h2 { font-size: 5.3333vw; font-weight: 600; margin-bottom: 0.6667vw;}
.head .box p {}


.cont01 {}
.cont01 .inner { margin: 13.3333vw auto 13.3333vw; padding: 0 4.0000vw;}
.cont01 .inner {}
.cont01 .inner h3 { text-align: center; margin-bottom: 2.6667vw; position: relative; font-size: 4.8000vw;}
.cont01 .inner h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 1.3333vw; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 2.6667vw;}
.cont01 .inner .txt { text-align: center;}
.cont01 .inner .txt p {}
.cont01 .inner .txt p:nth-of-type(1) { font-size: 10.6667vw; font-family: "Barlow", sans-serif; font-weight: 500; padding-left: 1.2em; display: inline-block; position: relative;}
.cont01 .inner .txt p:nth-of-type(1)::before { content: ""; background: url(../images/contact/icon_freedial.png) center center no-repeat; background-size: cover; width: 0.8em; height: 0.8em; position: absolute; top: 0; bottom: 0; left: 0; margin: auto;}
.cont01 .inner .txt p:nth-of-type(2) { margin-top: 0;}


.cont02 {}
.cont02 .inner { margin: 13.3333vw auto 18.6667vw; padding: 0 4.0000vw;}
.cont02 .inner h3 { text-align: center; padding-bottom: 6.6667vw; margin-bottom: 2.6667vw; position: relative; font-size: 4.8000vw;}
.cont02 .inner h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 1.3333vw; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 2.6667vw;}

.cont02 .inner .txt01 { text-align: center; margin: 6.6667vw auto 6.6667vw;}
.cont02 .inner .txt01 .box { margin: auto; text-align: center;}
.cont02 .inner .txt01 .box p { margin: 2.6667vw 0; text-align: left;}
.cont02 .inner .txt01 p:nth-of-type(1) {}
.cont02 .inner .txt01 p:nth-of-type(2) { font-size: 2.1333vw;}
.cont02 .inner table { border-collapse: collapse; margin: auto; font-feature-settings: "palt"; letter-spacing: 0.05em; width: 100%;}
.cont02 .inner table th { display: block; width: 100%; font-weight: 400; text-align: left; vertical-align: top; padding: 4.0000vw 0 1.3333vw 2.6667vw; border-bottom: dotted 1px #333;}
.cont02 .inner table th .need { display: inline-block; width: 3.4em; text-align: center; align-content: center; background: #c70000; font-size: 2.4000vw; color: var(--color00); border-radius: 0.6667vw; margin-left: 2.6667vw;}
.cont02 .inner table td { display: block; width: 100%; padding: 2.6667vw 0 4.0000vw;}
.cont02 .inner table td label { display: block; padding: 0.6667vw 0;}

.cont02 .inner .txt02 { margin: 6.6667vw auto 6.6667vw; text-align: center;}
.cont02 .inner .txt02 p { margin: 2.6667vw 0;}
.cont02 .inner .txt02 p a { color: var(--color01); text-decoration: underline;}
.cont02 .inner .txt02 .btn { margin-top: 9.3333vw;}
.cont02 .inner .txt02 .btn input { width: 80.0000vw; height: 10.6667vw; background: var(--color01); border: solid 1px var(--color01); color: var(--color00); cursor: pointer; border-radius: 0.6667vw; transition: ease .5s;}
.cont02 .inner .txt02 .btn input:hover { background: var(--color00); color: var(--color01); transition: ease .5s;}


.cont03 { scroll-margin-top: 22.6667vw;}
.cont03 .inner { margin: 0 auto 14.6667vw; padding: 0 4.0000vw;}
.cont03 .inner h3 { text-align: center; padding-bottom: 6.6667vw; margin-bottom: 2.6667vw; position: relative; font-size: 4.8000vw;}
.cont03 .inner h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 1.3333vw; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 2.6667vw;}
.cont03 .inner .txt { margin: 12.0000vw auto 12.0000vw;}
.cont03 .inner .txt h4 { margin: 5.3333vw 0 1.3333vw; font-weight: 600; font-size: 3.4667vw;}
.cont03 .inner .txt p { margin: 1.3333vw 0;}
.cont03 .inner .txt ol { margin: 1.3333vw 0; counter-reset: number 0;}
.cont03 .inner .txt ol li { padding-left: 1.1em; position: relative;}
.cont03 .inner .txt ol li::before { content: counter(number) "."; counter-increment: number 1; position: absolute; top: 0; left: 0;} 


}




/*sp*/
@media only screen and (width: 750px) {


.head { width: 100%; height: 220px; background: #EEE; align-content: center;}
.head .box { margin: auto; padding: 0 50px;}
.head .box h2 { font-size: 40px; font-weight: 600; margin-bottom: 5px;}
.head .box p {}


.cont01 {}
.cont01 .inner { margin: 100px auto 100px; padding: 0 30px;}
.cont01 .inner {}
.cont01 .inner h3 { text-align: center; margin-bottom: 20px; position: relative; font-size: 36px;}
.cont01 .inner h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 10px; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 20px;}
.cont01 .inner .txt { text-align: center;}
.cont01 .inner .txt p {}
.cont01 .inner .txt p:nth-of-type(1) { font-size: 80px; font-family: "Barlow", sans-serif; font-weight: 500; padding-left: 1.2em; display: inline-block; position: relative;}
.cont01 .inner .txt p:nth-of-type(1)::before { content: ""; background: url(../images/contact/icon_freedial.png) center center no-repeat; background-size: cover; width: 0.8em; height: 0.8em; position: absolute; top: 0; bottom: 0; left: 0; margin: auto;}
.cont01 .inner .txt p:nth-of-type(2) { margin-top: 0;}


.cont02 {}
.cont02 .inner { margin: 100px auto 140px; padding: 0 30px;}
.cont02 .inner h3 { text-align: center; padding-bottom: 50px; margin-bottom: 20px; position: relative; font-size: 36px;}
.cont02 .inner h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 10px; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 20px;}

.cont02 .inner .txt01 { text-align: center; margin: 50px auto 50px;}
.cont02 .inner .txt01 .box { margin: auto; text-align: center;}
.cont02 .inner .txt01 .box p { margin: 20px 0; text-align: left;}
.cont02 .inner .txt01 p:nth-of-type(1) {}
.cont02 .inner .txt01 p:nth-of-type(2) { font-size: 16px;}
.cont02 .inner table { border-collapse: collapse; margin: auto; font-feature-settings: "palt"; letter-spacing: 0.05em; width: 100%;}
.cont02 .inner table th { display: block; width: 100%; font-weight: 400; text-align: left; vertical-align: top; padding: 30px 0 10px 20px; border-bottom: dotted 1px #333;}
.cont02 .inner table th .need { display: inline-block; width: 3.4em; text-align: center; align-content: center; background: #c70000; font-size: 18px; color: var(--color00); border-radius: 5px; margin-left: 20px;}
.cont02 .inner table td { display: block; width: 100%; padding: 20px 0 30px;}
.cont02 .inner table td label { display: block; padding: 5px 0;}

.cont02 .inner .txt02 { margin: 50px auto 50px; text-align: center;}
.cont02 .inner .txt02 p { margin: 20px 0;}
.cont02 .inner .txt02 p a { color: var(--color01); text-decoration: underline;}
.cont02 .inner .txt02 .btn { margin-top: 70px;}
.cont02 .inner .txt02 .btn input { width: 600px; height: 80px; background: var(--color01); border: solid 1px var(--color01); color: var(--color00); cursor: pointer; border-radius: 5px; transition: ease .5s;}
.cont02 .inner .txt02 .btn input:hover { background: var(--color00); color: var(--color01); transition: ease .5s;}


.cont03 { scroll-margin-top: 170px;}
.cont03 .inner { margin: 0 auto 110px; padding: 0 30px;}
.cont03 .inner h3 { text-align: center; padding-bottom: 50px; margin-bottom: 20px; position: relative; font-size: 36px;}
.cont03 .inner h3::after { content: attr(data-en); display: block; position: absolute; left: 0; right: 0; bottom: 10px; margin: auto; font-family: "Noto Serif JP", serif; font-weight: 400; font-size: 20px;}
.cont03 .inner .txt { margin: 90px auto 90px;}
.cont03 .inner .txt h4 { margin: 40px 0 10px; font-weight: 600; font-size: 26px;}
.cont03 .inner .txt p { margin: 10px 0;}
.cont03 .inner .txt ol { margin: 10px 0; counter-reset: number 0;}
.cont03 .inner .txt ol li { padding-left: 1.1em; position: relative;}
.cont03 .inner .txt ol li::before { content: counter(number) "."; counter-increment: number 1; position: absolute; top: 0; left: 0;} 


}

