@charset "utf-8";
/* CSS Document */
html{ font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
body{ position: relative;}
html,body,h1,h2,h3,dl,dt,dd,ul,ol,li,p{ margin: 0; padding: 0;}
ul,ol,li{ list-style-type: none;}
img{ border: none; display: inline-block; outline: none;}
a{ color: #ff4f58; text-decoration: none;}
a:hover{ opacity: .6;}
a.tel{ pointer-events: none;}
p{ color: #222222;}
.width-990{ margin: 0 auto; width: 990px;}
.margin-top-60{ margin-top: 60px;}
.margin-top-100{ margin-top: 100px !important;}
.text-align-center{ text-align: center;}
.top-page-main-photo-area-01 h2,.top-title-01,.all-page-main-photo-01 h2,.form-page-main-photo-01 h2,h2.form-title-01,.staff-area-01 dd ul li p:first-child,.q-a-area-01 dd dl dt p,.q-a-area-01 dd ul li dl dd p::before,.mincho-title-01 h2{ font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}
h1{ background-color: #ff4f58; color: #ffffff; font-size: 10px; line-height: 16px; padding: 4px; text-align: center;}
header{ background-color: #ffffff; height: 50px; position: relative; z-index: 10; width: 100%;}
header.top-on{ left: 0; position: fixed; top: 0;}
header a{ display: inline-block;}
header > a{ margin: 7px 0 7px 10px;}
header ul,header ul li{ height: 50px;}
header ul{ display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; height: 50px; position: absolute; right: 0; top: 0;}
header ul a{ color: #ffffff; display: inline-block; font-size: 14px; font-weight: bold; line-height: 50px; padding: 0 30px; text-align: center;}
header ul li a.free-experience{ background-color: #d80c18;}
header ul li a.document-request{ background-color: #f39500;}
header ul li a.contact{ background-color: #444444;}
header ul li a.tel{ color: #ff4f58; font-family: serif; font-size: 30px; font-weight: normal; padding: 0 16px;}
header ul li a.tel span::before{ content: "TEL"; display: inline-block; font-size: 14px; line-height: 14px; margin-right: 6px;}
header ul li.hamburger-menu-area-01{ display: none;}
header ul li.hamburger-menu-area-01 div{ cursor: pointer; height: 40px; margin: 5px 16px 5px 0; position: relative; width: 38px;}
header ul li.hamburger-menu-area-01 div span{ background-color: #f39500; height: 5px; left: 0; position: absolute; transition: all .4s; width: 100%;}
header ul li.hamburger-menu-area-01 div span:first-child{ top: 5px;}
header ul li.hamburger-menu-area-01 div span:nth-child(2){ top: calc(50% - 3px);}
header ul li.hamburger-menu-area-01 div span:last-child{ bottom: 5px;}
header ul li.hamburger-menu-area-01 div.hamburger-menu-bt-01.active{ border-radius: 4px; border: 1px solid #f39500; height: 38px; width: 36px;}
header ul li.hamburger-menu-area-01 div.hamburger-menu-bt-01.active span{ left: calc(50% - 10.5px); width: 20px;}
header ul li.hamburger-menu-area-01 div.hamburger-menu-bt-01.active span:first-child{ top: calc(50% - 2.5px); transform: rotate(-45deg);}
header ul li.hamburger-menu-area-01 div.hamburger-menu-bt-01.active span:nth-child(2){ display: none;}
header ul li.hamburger-menu-area-01 div.hamburger-menu-bt-01.active span:last-child{ bottom: calc(50% - 2.5px); transform: rotate(45deg);}
.all-page-main-photo-01{ background-size: cover; height: 400px; position: relative; width: 100%;}
.all-page-main-photo-01 h2,.form-page-main-photo-01 h2{ color: #ffffff; font-size: 40px; line-height: 50px; left: 4%; position: absolute; text-shadow: 2px 2px 3px rgba( 0, 0, 0, .6), -2px 2px 3px rgba( 0, 0, 0, .6), 2px -2px 3px rgba( 0, 0, 0, .6), -2px -2px 3px rgba( 0, 0, 0, .6); top: 30%;}
.form-page-main-photo-01{ background-image: url('../images/contact-top-main-01.png'); background-position: right center; background-size: cover; height: 200px; position: relative; width: 100%;}
.form-page-main-photo-01.free-experience{ background-image: url('../images/free-experience-top-main-01.png');}
.form-page-main-photo-01.document-request{ background-image: url('../images/document-request-top-main-01.png');}
.form-page-main-photo-01 h2{ top: 24%}

.breadcrumb-area-01{ margin-bottom: 40px; width: 100%;}
.breadcrumb-area-01 li{ display: inline-block; height: 24px; vertical-align: baseline;}
.breadcrumb-area-01 li a{ display: inline-block; position: relative;}
.breadcrumb-area-01 li:first-child a{ padding-left: 18px;}
.breadcrumb-area-01 li:first-child a::before,.footer-site-map-area-01 a::before{ background-image: url('../images/footer-list-icon-01.png'); content:""; display: inline-block; height: 14px; left: 0; position: absolute; top: calc(50% - 7px); width: 14px;}
.breadcrumb-area-01 li:first-child a::before{ top: 0;}
.breadcrumb-area-01 li:nth-child(2),.breadcrumb-area-01 li:nth-child(3){ margin-left: 40px; position: relative;}
.breadcrumb-area-01 li:nth-child(2)::before,.breadcrumb-area-01 li:nth-child(3)::before{ content: "＞"; display: inline-block; left: -30px; position: absolute; top: 1px;}
.breadcrumb-area-01 li a,.breadcrumb-area-01 li h2{ color:#222222; display: inline-block; font-size: 12px; font-weight: bold; line-height: 18px;}

h2.form-title-01 span,.mincho-title-01 h2 span{ border-bottom: 1px solid #444444; display: inline-block; padding: 0 10px 10px; position: relative;}
h2.form-title-01 span::before,h2.form-title-01 span::after,.mincho-title-01 h2 span::before,.mincho-title-01 h2 span::after{ background-image: url('../images/footer-list-icon-01.png'); background-position: center -28px; content: ""; bottom: -7px; display: inline-block; height: 14px; position: absolute; width: 14px;}
h2.form-title-01 span::before,.mincho-title-01 h2 span::before{ left: -20px;}
h2.form-title-01 span::after,.mincho-title-01 h2 span::after{ right: -20px;}


nav{ position: absolute; left: 0; top: 74px; width: 100%; z-index: 10;}
nav.top-on{ left: 0; position: fixed; top: 50px;}
nav ul{ background-color: rgba( 0, 0, 0, .3); display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; text-align: center; width: 100%;}
nav li{ border-left: 1px solid #ffffff;}
nav li:first-child{ background-color: #d80c18;}
nav li:nth-child(2){ background-color: #f39500;}
nav li:nth-child(3){ background-color: #444444;}
nav li:first-child,nav li:nth-child(2),nav li:nth-child(3){ display: none;}
nav li:last-child{ border-right: 1px solid #ffffff;}
nav li a{ color: #ffffff; display: inline-block; font-size: 14px; padding: 8px 30px;}
nav li a:hover{ background-color: #ff4f58; opacity: 1;}
#page-top-bt{ background-color: #ff4f58; border-radius: 50%; bottom: -60px; height: 50px; position: fixed; right: 20px; transition: .5s; width: 50px;}
#page-top-bt::before{ border-top: 3px solid #ffffff; border-right: 3px solid #ffffff; bottom: calc(50% - 10px); content: ""; display: inline-block; height: 12px; left: calc(50% - 8px); position: absolute; transform: rotate(-45deg); width: 12px;}
#page-top-bt.active{ bottom: 20px;}
#page-top-bt span{ display: none;}
.contact-3-area-01{ display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 60px; width: 100%;}
.contact-3-area-01 li{ border: 1px solid #dedede; width: calc(100% / 3 - 2px);}
.contact-3-area-01 li dl{ padding: 20px;}
.contact-3-area-01 li p{ margin-bottom: 10px; text-align: center;}
.contact-3-area-01 li dt p{ font-size: 18px; font-weight: bold;}
.contact-3-area-01 li dd p{ font-size: 14px; line-height: 20px;}
.contact-3-area-01 li dd a{ border-radius: 4px; box-shadow: 0 2px 2px rgba( 0, 0, 0, .4); color: #ffffff; display: block; font-size: 14px; height: 50px; line-height: 50px; margin: 0 auto; text-align: center;}
.contact-3-area-01 li dd a:hover{ box-shadow: 0 2px 1px rgba( 0, 0, 0, .8);}
.contact-3-area-01 li:first-child dd a{ background-color: #d80c18;}
.contact-3-area-01 li:nth-child(2) dd a{ background-color: #f39500;}
.contact-3-area-01 li:last-child dd a{ background-color: #444444;}
.footer-name-tel-area-01{ display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; text-align: center; width: 100%;}
.footer-name-tel-area-01 p{ font-size: 14px; line-height: 20px; text-align: left;}
.footer-name-tel-area-01 p:last-child{ font-size: 10px; line-height: 16px;}
.footer-name-tel-area-01 a{ color: #ff4f58; font-family: serif; font-size: 30px; font-weight: normal; margin-left: 10px;}
.footer-name-tel-area-01 a span::before{ content: "TEL"; display: inline-block; font-size: 14px; line-height: 14px; margin-right: 6px;}
.footer-site-map-area-01{ background-color: rgba( 255, 79, 88, .1); display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; padding: 40px 50px; width: calc(100% - 100px);}
.footer-site-map-area-01 li{ width: 20%;}
.footer-site-map-area-01 li:first-child,.footer-site-map-area-01 li:nth-child(5),.footer-site-map-area-01 li:nth-child(9){ width: 25%;}
.footer-site-map-area-01 li:nth-child(2),.footer-site-map-area-01 li:nth-child(6),.footer-site-map-area-01 li:nth-child(10){ width: 35%;}
.footer-site-map-area-01 a{ color: #222222; display: inline-block; font-size: 12px; padding: 6px 0 6px 18px; position: relative;}
.footer-site-map-area-01 a::before{ background-position: center -28px;}
.footer-site-map-area-01 li:first-child a::before{ background-position: center 0;}
footer p{ background-color: #444444; color: #ffffff; font-size: 12px; padding: 4px; text-align: center;}
footer p a{ font-size: 12px; color: #ffffff;}


@media screen and (max-width: 1101px){
    nav li a{ padding: 8px 10px;} 
}
@media screen and (max-width: 1017px){
    .width-990{ width: 92%;}
    .contact-3-area-01 li dd p br{ display: none;}
}
@media screen and (max-width: 980px){
    header ul a{ padding: 0 10px;}
}
@media screen and (max-width: 860px){
    a.tel{ pointer-events: auto;}
    header ul li:nth-child(4) a{ background-color: #ff4f58; background-image: url('../images/tel-icon-01.png'); border-radius: 4px; height: 40px; margin: 5px 16px; padding: 0; width: 40px;}
    header ul li:nth-child(4) a span{ display: none;}
}
@media screen and (max-width: 820px){
    header.top-on{ box-shadow: 0 2px 2px rgba( 0, 0, 0, .3);}
    header ul li:last-child{ display: block;}
    nav{ display: none;}
    nav ul{ background-color: rgba( 0, 0, 0, .8);}
    nav#nav-menu-01.active{ display: block;}
    nav#nav-menu-01.active.top-on{ top: 50px !important;}
    nav#nav-menu-01.active li{ border-left: none; border-top: 1px solid #ffffff; width: 100%;}
    nav#nav-menu-01.active li a{ padding: 8px 0; width: 100%;}
}
@media screen and (max-width: 750px){
    .footer-site-map-area-01 li{ width: 50% !important;}
}
@media screen and (max-width: 741px){
    .contact-3-area-01 li{ width: calc(100% - 2px);}
    .contact-3-area-01 li dd a{ width: 80%;}
}
@media screen and (max-width: 740px){
    header ul li:nth-child(2){ display: none;}
    nav li:nth-child(2){ display: block;}
}
@media screen and (max-width: 664px){
    header ul li:nth-child(3){ display: none;}
    nav li:nth-child(3){ display: block;}
}
@media screen and (max-width: 561px){
    .footer-site-map-area-01{ padding: 40px 30px; width: calc(100% - 60px);}
    .footer-site-map-area-01 li{ width: 100% !important;}
}
@media screen and (max-width: 560px){
    header ul li:first-child{ display: none;}
    nav li:first-child{ display: block;}
}
@media screen and (max-width: 509px){
    h2.form-title-01 span,.mincho-title-01 h2 span{ width: 85%;}
}
@media screen and (max-width: 399px){
    .contact-3-area-01 li dd a{ width: 100%;}
}
@media screen and (max-width: 378px){
    header a{ margin: 2.7% 0 0 10px; width: 60%;}
    header > a img{ height: auto; width: 100%;}
}
@media screen and (max-width: 346px){
    header a{ margin: 3.8% 0 0 10px; width: 56%;}
}