@charset "utf-8";
.yakuhanjp {
  font-family: YakuHanJP, "Hiragino Sans", Meiryo, "Yu Gothic Medium", sans-serif;
}

a {
    color: #000;
    text-decoration: none;
}
a:hover {
    color: #000;
}
a:link {
    color: #000;
}
a:visited {
    color: #000;
}
.pc-hide {
    display: none;
}

.pr-logo {
    position: absolute;
}

.pr-logo img {
    width: 66%;
}
.contact {
    position: absolute;
    right: 0;
    padding: 10px 0;
    top: 20px;
}
.contact a {
    padding: 10px 25px;
    background-color: #ef8200;
    color: #fff;
    font-size: 150%;
    transition: all 0.3s;
}
.contact a:hover {
    background-color: #4ac0f0;
}
header {
    text-align: center;
    border-bottom: #ef8200 4px solid;
    position: relative;
    width: 100%;
    min-width: 1280px;
    height: 164px;
    background: #fff;
    padding: 30px 0 0 0;
}
header h1 {
    margin: 0;
}
header h1 img{
    width: 35%;
}
header .h1 {
    margin: 0;
    font-size: 186%;
}
header .h1 img{
    width: 35%;
}
header ul {
    margin: 15px auto;
    padding-left: 40px;
}
header ul li {
    list-style-type: none;
    display: inline-block;
    padding: 0 70px 0 0;
    font-size: 120%;
    position: relative;
}
header ul li a {
    color: #000;
    text-decoration: none;
    transition: all 0.3s;
}
header ul li a.active {
    color: #ef8200;
}
header ul li a:hover {
    color: #ef8200;
}
header ul li::before {
    content: "";
    width: 15px;
    height: 3px;
    background-color: #ef8200;
    position: absolute;
    left: -20px;
    top: 37%;
}

.wrap {
    min-width: 1280px;
}
#home .container div {
    position: relative;
    padding: 50px 0 70px;
}
.top-photo h1 {
    position: absolute;
    color: #fff;
    left: 34%;
    top: 40%;
    font-size: 200%;
    opacity: 0;
    transition: all 1s;
    transform: translateY(20px);
}
#home .container .tran-part-1 {
    padding: 100px 0;
}
.tran-part-1 h2, 
.tran-part-2 h2,
.tran-part-3 h2,
.tran-part-4 h2,
.tran-part-5 h2 {
    opacity: 0;
    transition: all 1s;
    transform: translateY(30px);
}
.tran-part-1 p, 
.tran-part-2 p,
.tran-part-3 p,
.tran-part-4 p,
.tran-part-5 p {
    opacity: 0;
    transition: all 1s;
    transform: translateY(50px);
}
.tran-part-1 img, 
.tran-part-2 img,
.tran-part-3 img,
.tran-part-4 img,
.tran-part-5 img {
    opacity: 0;
    transition: all 1s;
    transform: translateY(70px);
}
#home h2 {
    color: #ef8200;
    font-size: 180%;
    line-height: 45px;
    margin-top: 0;
    font-weight: 400;
}
h3 {
    color: #ef8200;
    font-size: 180%;
    line-height: 45px;
    margin-top: 0;
    font-weight: 400;
}
#plan h3 {
    font-size: 120%;
}
p {
    font-size: 130%;
    line-height: 1.5;
}
.center-align {
    text-align: center;
}
.top-photo {
    position: relative;
}
.top-photo img {
    width: 100%;
}
.mm {
    position: absolute;
    top: 11%;
    left: 7%;
}
.bg-color-in {
    background-color: #fad9b1
}
#home .container div img {
    width: 60%;
    margin: 30px auto;
}
#home .container div img.mm {
    width: 11%;
}
#home .container div img.ft {
    width: 40%;
}
#home .container div img.svt {
    width: 70%;
    margin: 80px auto 20px;;
}
#home .container div p {
    margin: 0;
}
#index #plan h2 {
    font-size: 200%;
    padding: 0;
    margin: 50px 0 30px;
    color: #ef8200;
    text-align: center;
    border: none;
}
#company h2,
#contact h2 {
    font-size: 200%;
    padding: 0;
    margin: 50px 0 30px;
    color: #ef8200;
    text-align: center;
}
.ps-text {
    font-size: 80%;
    line-height: 1;
    margin: 0;
}
#company .company-container {
    min-width: 1280px;
}
#contact {
    text-align: center;
    margin: 40px auto 80px;
    padding: 20px 0;
}
#contact a {
    padding: 20px 175px;
    font-size: 24px;
    color: #fff;
    background-color: #ef8200;
    transition: all 0.3s;
}
#contact a:hover {
    background-color: #4ac0f0;
}
table {
    width: 800px;
    margin: auto;
}
table th {
    text-align: right;
    font-weight: 400;
    font-size: 100%;
    vertical-align: middle;
    padding-right: 10px;
}
table tr.vertiacl-top th {
    vertical-align: top;
    padding-top: 8px;
}
table td {
    text-align: left;
    font-weight: 400;
    font-size: 120%;
    vertical-align: middle;
    padding: 5px 0 5px 20px;
    line-height: 1.5
}
table td iframe {
    margin: 30px auto;
}
table .table-line {
    width: 1px;
    background-color: #ef8200;
    margin: 0;
    padding: 0; 
}
#contact-form h2 {
    font-size: 200%;
    padding: 0;
    margin: 50px 0 30px;
    color: #ef8200;
    text-align: center;
}

#mail-form {
    padding-bottom: 50px;
}
form {
    width: 800px;
    margin: auto;
    padding-top: 70px;
    text-align: center;
}
form table {
    width: 100%;
}
form table th {
    width: 200px;
    white-space: nowrap;
    padding: 10px 40px 10px 0;
    vertical-align: top;
}
form table td {
    padding: 0 0 20px;
}
form table table th {
    width: 13%;
    padding: 10px 10px 10px 0;
}
form table table tr:last-of-type td {
    padding-bottom: 0;
}
form a {
    font-size: 18px;
    text-decoration: underline;
}
input[type="submit"],input[type="button"]{
    -webkit-appearance:none;
    padding: 20px 25px;
    font-size: 24px;
    color: #fff;
    background-color: #ef8200;
    border: none;
    font-weight: 600;
    margin-top: 20px;
    transition: all 0.3s;
    cursor: pointer;
}
select,
textarea,
input[type="text"],
input[type="email"],
input[type="tel"] {
    width: 100%;
    height: 45px;
    border-radius: 5px;
    border: none;
    padding: 0 20px;
    font-size: 16px;
    box-sizing: border-box;
}
textarea {
    height: 177px;
    padding-top: 10px;
}
form table table tr:first-of-type input[type="text"] {
    width: auto;
}
input[type="submit"]:hover,input[type="button"]:hover {
    background-color: #4ac0f0;
}

footer {
    min-width: 1280px;
}
footer a {
    margin-bottom: 35px;
    display: block;
}
footer a:hover {
    color: #ef8200;
}
footer p {
    font-size: 100%;
    margin: 0;
}

#page-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    opacity: 0;
}
#page-top img {
    height: auto;
    width: 100%;
}

#formWrap form {
    padding-top: 30px;
}
#formWrap table.formTable {
    margin-bottom: 30px;
}
#formWrap table.formTable th {
    font-size: 18px;
    line-height: 1.5
}
#formWrap table.formTable td {
    font-size: 18px;
    line-height: 1.5
}
input[type="button"] {
    margin-bottom: 30px;
}

#finish {
    padding-bottom: 70px;
}
#finish h2 {
    font-size: 200%;
    padding: 0;
    margin: 50px 0 30px;
    color: #ef8200;
    text-align: center;
}
#finish p {
    margin: 0;
    line-height: 1.8;
}
#finish .tp {
    font-size: 42px;
    font-weight: bold;
    line-height: 1.4
}
#finish img {
    margin-top: 50px;
}

@media screen and (max-width: 750px) {
    .pc-hide {
        display: block;
    }
    .sp-hide {
        display: none;
    }
    header {
        width: 100%;
        min-width: inherit;
        height: 70px;
        padding-top: 10px;
    }
    .pr-logo,
    .contact {
        display: none;
    }
    .pc-menu {
        display: none;
    }
    header h1 {
        text-align: left;
        padding: 0 4%;
    }
    header h1 img {
        width: 85%;
    }
    header .h1 {
        text-align: left;
        padding: 0 4%;
    }
    header .h1 img {
        width: 85%;
    }
    .menu-btn {
        position: absolute;
        width: 30px;
        height: 30px;
        z-index: 100;
        top: 15px;
        right: 5%;
        background: url(img/sp-menu-btn.png);
        background-size: cover;
        background-repeat: no-repeat;
    }
    .menu-close {
        background: url(img/close_white.png);
        background-size: cover;
        background-repeat: no-repeat;
    }
    .sp-menu {
        display: none;
        position: absolute;
        line-height: initial;
        background-color: #ef8200;
        z-index: 10;
        width: 100%;
        text-align: center;
        padding-bottom: 20px;
        top: 0;
        padding-top: 85px;
    }
    .sp-menu ul {
        padding: 0;
        width: 64%;
        text-align: left;
    }
    .sp-menu ul li {
        display: block;
        padding: 0;
        padding-bottom: 20px;
        font-size: 170%;
        color: #fff;
    }
    .sp-menu ul li a {
        color: #fff;
    }
    .sp-menu ul li a.active {
        color: #fff;
    }
    .sp-menu ul li::before {
        left: -24px;
        top: 25%;
        background-color: #fff;
    }
    .sp-menu img {
        width: 30%;
    }
    
    .wrap {
        min-width: inherit
    }
    .top-photo h1 {
        left: 14%;
        font-size: 135%;
    }
    #home .container .tran-part-1 {
        padding: 70px 4%;
    }
    #home .container div img {
        width: 100%;
        margin: 30px auto;
    }
    #home .container div img.ft {
        width: 100%;
    }
    #home .container div img.svt {
        width: 100%;
        margin: 80px auto 20px;;
    }
    #home .container div img.mm {
        position: inherit;
        width: 35%;
        margin: 40px auto 20px;
        left: inherit;
    }
    #home h2 {
        font-size: 160%;
        line-height: inherit;
    }
    #home .container>div {
        padding: 30px 4%;
    }
    #home .container div p {
        text-align: left;
        font-size: 120%;
    }
    #home .container div p.ps-text {
        font-size: 90%;
        line-height: 1.2
    }
    #home .container div p.center-align {
        text-align: center;
    }
    #company .company-container {
        min-width: inherit;
    }
    #company table {
        width: 92%;
        margin: auto;
        display: block;
    }
    #company table th {
        display: block;
        text-align: left;
        font-size: 130%;
    }
    #company table td {
        display: block;
        padding-left: 0;
        padding-bottom: 20px;
    }
    #company table td.table-line {
        display: none
    }
    #company table td iframe {
        width: 100%;
        height: 350px;
    }
    
    #contact-form {
        min-height: inherit;
    }
    form {
        width: 92%;
        margin: auto;
        padding-top: 40px;
    }
    form a {
        font-size: 16px;
    }
    form table tbody>tr>th {
        display: block;
        text-align: left;
    }
    form table tbody>tr>td {
        display: block;
    }
    input[type="submit"],input[type="button"] {
        font-size: 18px;    
    }
    
    #contact {
        width: 92%;
        margin: 30px auto 40px;
        background-color: #ef8200;
        padding: 10px 0;
    }
    #contact a {
        padding: 0;
        font-size: 20px;
    }
    
    footer {
        min-width: inherit;
        padding: 15px 0;
    }
    footer a {
        margin-bottom: 10px;
    }
    
    #page-top {
        bottom: 15px;
        right: 15px;
    }
    
    #formWrap h3 {
        
    }
    #formWrap p {
        font-size: 120%;
        line-height: 1.5;
        padding: 0 4%;
    }
    #formWrap table.formTable th {
        font-size: 150%;
        width: auto;
    }
    #formWrap table.formTable td {
        font-size: 140%;
        padding-top: 0;
        padding-bottom: 20px;
    }
    
    #finish {
        width: 92%;
        margin: auto;
    }
    #finish h2 {
        font-size: 150%;
        margin-top: 30px;
    }
    #finish .center-align {
        text-align: left;
    }
    #finish .tp {
        font-size: 36px;
        text-align: center;
    }
    #finish img {
        margin: auto;
        margin-top: 50px;
        width: 40%;
        display: block;
    }
}
@media screen and (max-width: 414px) {
    header {
        height: auto;
        padding-top: 0;
    }
    header>div {
        padding: 0;
        margin: 0;
    }
    .menu-btn {
        width: 20px;
        height: 20px;
        top: 36%;
        right: 7%;
    }
    header .h1 {
        padding: 20px 4% 15px;
    }
    header h1 {
        padding: 20px 4% 15px;
    }
    header .h1 img {
        width: 75%;
    }
    header h1 img {
        width: 75%;
    }
    
}
@media screen and (max-width: 375px) {
    header {
        height:auto;
    }
    .sp-menu {
        padding-top: 70px;
    }
    .sp-menu ul li {
        font-size: 150%;
    }
    .sp-menu ul li::before {
        left: -20px;
    }
    
    .top-photo h1 {
        left: 9%;
    }
    #home h2 {
        font-size: 140%;
    }
    #home .container div p {
        font-size: 110%;
    }
    #home .container div p.ps-text {
        font-size: 80%; 
    }
    
    #contact-form h2,
    #company h2,
    #index #plan h2 {
        margin: 40px auto 25px;
    }
    #company table th {
        font-size: 115%;
    }
    #company table td {
        font-size: 105%;
    }
    #company table td iframe {
        height: 250px;
    }
    
    form a {
        font-size: 14px;
    }
    input[type="submit"],input[type="button"] {
        font-size: 16px;
        padding: 15px 20px;
    }
    
    #formWrap h3 {
        
    }
    #formWrap p {
        font-size: 110%;
        line-height: 1.5;
        padding: 0 4%;
    }
    #formWrap table.formTable th {
        font-size: 140%;
        width: auto;
    }
    #formWrap table.formTable td {
        font-size: 130%;
        padding-top: 0;
        padding-bottom: 15px;
    }
    
    #finish h2 {
        font-size: 135%;
        margin-top: 30px;
    }
    #finish p {
        font-size: 110%;
    }
    #finish .center-align {
        text-align: left;
    }
    #finish .tp {
        font-size: 32px;
        text-align: center;
    }
    #finish img {
        margin: auto;
        margin-top: 50px;
        width: 40%;
        display: block;
    }
}
@media screen and (max-width: 360px) {
    header {
        height: auto;
    }
    #finish h2 {
        font-size: 130%;
        margin-top: 30px;
    }
    #finish p {
        font-size: 100%;
    }
    #finish .tp {
        font-size: 32px;
    }
    #finish img {
        margin-top: 40px;
    }
    
    #page-top {
        width: 30px;
        height: 30px;
    }
}
@media screen and (max-width: 320px) {
    header {
        height: auto;
    }
    .menu-btn {
        width: 24px;
        height: 24px;
    }
    .sp-menu ul li {
        font-size: 130%;
    }
    .sp-menu ul li::before {
        top: 21%;
    }
    .top-photo h1 {
        font-size: 110%;
        left: 11%;
    }
    
    #home h2 {
        font-size: 125%;
    }
    #home .container div p {
        font-size: 100%;
    }
    #home .container div p.ps-text {
        font-size: 70%;
    }
    
    #company table th {
        font-size: 110%;
    }
    #company table td {
        font-size: 100%;
    }
    select,
    textarea,
    input[type="text"],
    input[type="email"],
    input[type="tel"] {
        height: 35px;
        font-size: 14px;
    }
    form a {
        font-size: 12px;
    }
    input[type="submit"],input[type="button"] {
        font-size: 14px;
        padding: 10px 15px;
    }
    
    footer a {
        font-size: 90%;
    }
    footer p {
        font-size: 80%;
    }
    
    #formWrap h3 {
        font-size: 140%;
        line-height: 1.5;
    }
    #formWrap p {
        font-size: 100%;
        line-height: 1.5;
        padding: 0 4%;
    }
    #formWrap table.formTable th {
        font-size: 120%;
        width: auto;
    }
    #formWrap table.formTable td {
        font-size: 110%;
        padding-top: 0;
        padding-bottom: 10px;
    }
    
    #finish h2 {
        font-size: 115%;
        margin-top: 30px;
    }
    #finish p {
        font-size: 95%;
    }
    #finish .tp {
        font-size: 26px;
    }
}