@charset "UTF-8";

/*共通*/
.sp {
    display: none;
}

.tb {
    display: none;
}

.pc {
    display: block;
}

@media screen and (max-width:930px) {
    .sp {
        display: none;
    }

    .tb {
        display: block;
    }

    .pc {
        display: none;
    }
}

@media screen and (max-width:650px) {
    .sp {
        display: block;
    }

    .tb {
        display: none;
    }

    .pc {
        display: none;
    }
}


/*header*/
header .fv {
    position: relative;
}

header .fv .fv-text {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 40%;
    left: 0;
    z-index: 99;
}

header .fv .fv-text p span {
    font-size: 75px;
    font-family: 'Josefin Sans', sans-serif;
    color: #fff;
    letter-spacing: 0.03em;
}

header .fv .fv-text p {
    font-size: 20px;
    color: #fff;
    text-align: center;
}

@media screen and (max-width:1300px) {
    header .fv .fv-text {
        top: 30%;
    }
}

@media screen and (max-width:960px) {

    header .fv .fv-text p span {
        font-size: 65px;
    }

    header .fv .fv-text p {
        font-size: 16px;
        line-height: 1.6;
        letter-spacing: 0.2em;
    }

}

@media screen and (max-width:800px) {

    header .fv .fv-text p span {
        font-size: 60px;
    }

    header .fv .fv-text p {
        font-size: 14px;
        line-height: 1.6;
    }

}

@media screen and (max-width:730px) {

    header .fv .fv-text {
        top: 28%;
    }

    header .fv .fv-text p span {
        font-size: 55px;
    }

    header .fv .fv-text p {
        font-size: 13px;
        line-height: 1.5;
    }

}

@media screen and (max-width:700px) {

    header .fv .fv-text p span {
        font-size: 50px;
    }

}

@media screen and (max-width:630px) {

    header .fv .fv-text p {
        font-size: 12px;
    }

}

@media screen and (max-width:560px) {

    header .fv .fv-text {
        top: 27%;
    }

    header .fv .fv-text p span {
        font-size: 45px;
    }

    header .fv .fv-text p {
        font-size: 11px;
        line-height: 1.4;
    }

}

@media screen and (max-width:480px) {

    header .fv .fv-text {
        top: 25%;
    }

    header .fv .fv-text p span {
        font-size: 40px;
    }

    header .fv .fv-text p {
        line-height: 1.3;
    }

}

@media screen and (max-width:374px) {

    header .fv .fv-text {
        top: 23%;
    }

}


/*contact*/
#contact{
    background-color: #fff;
    margin-bottom: 9%;
    text-align: center;
}

#contact > div{
    padding: 0 3.5%;
}

#contact > div p{
    font-size: 15px;
    color: #707070;
    text-align: center;
}

#contact > div p > span{
    font-size: 16px;
    color: #000;
    font-weight: bold;
}

#contact > div > div.tel{
    margin: 7% auto 10px auto;
    max-width: 550px;
}

#contact > div > div.tel p:nth-child(1){
    font-size: 16px;
    color: #000;
    font-weight: bold;
    display: flex;
	align-items: center;
}

#contact > div > div.tel p:nth-child(1):before,
#contact > div > div.tel p:nth-child(1):after{
    content: "";
	flex-grow: 1;
	height: 2px;
	background: #707070;
	display: block;
}

#contact > div > div.tel p:nth-child(1):before{
    margin-right: 10px;
}

#contact > div > div.tel p:nth-child(1):after{
    margin-left: 10px;
}

#contact > div > div.tel p:nth-child(2){
    border-bottom: 2px solid #707070;
    text-align: center;
    padding: 20px 0;
}

#contact > div > div.tel p:nth-child(2) img{
    max-width: 450px;
}

#contact > div > div.form-txt{
    margin: 6% auto 5% auto;
}

#contact > div > div.form-txt p{
    font-size: 13px;
    line-height: 2.3;
}

#contact > div p > span.hissu{
    font-size: 13px;
    color: #707070;
}

#contact > div.form{
    max-width: 670px;
    margin: 0 auto;
    padding: 0 3.5%;
}

#contact > div.form table{
    background-color: #e3e6e8;
    margin-bottom: 20px;
}

#contact > div.form table th{
    padding: 20px 0 20px 40px;
    width: 35%;
    color: #707070;
    border: 1px solid #fff;
    position: relative;
    vertical-align: top;
    font-size: 15px;
    min-width: 140px;
}

#contact > div.form table td{
    padding: 10px;
    width: 65%;
    color: #707070;
    border: 1px solid #fff;
    text-align: left;
    font-size: 15px;
}

#contact > div.form table th:before{
    content: "";
    width: 25px;
    height: 25px;
    position: absolute;
    top: 24px;
    left: 8px;
    background-size: cover;
    background-repeat: no-repeat;
}

#contact > div.form table tr:nth-child(1) th:before{
    background-image: url(../img/contact_ikon_1.jpg);
}

#contact > div.form table tr:nth-child(2) th:before{
    background-image: url(../img/contact_ikon_2.jpg);
}

#contact > div.form table tr:nth-child(3) th{
    vertical-align: text-top;
}

#contact > div.form table tr:nth-child(4) th:before{
    background-image: url(../img/contact_ikon_3.jpg);
}

#contact > div.form table tr:nth-child(5) th:before{
    background-image: url(../img/contact_ikon_4.jpg);
}

#contact > div.form table tr:nth-child(6) th:before{
    background-image: url(../img/contact_ikon_5.jpg);
}

#contact > div.form table th span.eng{
    display: block;
    font-size: 14px;
    color: #707070;
    margin-top: -10px;
}

#contact > div.form table th span.hissu{
    font-size: 13px;
    color: #707070;
    display: inline;
}

#contact > div.form table td label{
    width: 184px;
    display: inline-block;
    text-align: left;
}

#contact > div.form table td label input[type="checkbox"]{
    margin-top: -2px;
    color: #707070;
}

#contact > div.form table td input[type="text"],
#contact > div.form table td input[type="tel"],
#contact > div.form table td input[type="email"],
#contact > div.form table td textarea{
    width: calc(100% - 20px);
    min-height: 43px;
    display: block;
    padding: 10px;
    background-color: transparent;
    border: 0;
    font-size: 15px;
}


#contact > div.privacy{
    margin-bottom: 50px;
}

#contact > div.form div.privacy > div{
    overflow-y: scroll;
    max-width: 450px;
    height: 210px;
    margin: 0 auto 50px auto;
    border: 1px solid #e3e6e8;
    padding: 20px;
}

#contact > div.form div.privacy > div > h2{
    text-align: left;
    color: #707070;
    font-size: 18px;
    margin-bottom: 10px;
}

#contact > div.form div.privacy > div > p{
    text-align: left;
    color: #707070;
    font-size: 13px;
}

#contact > div.form div.privacy > p{
    margin-bottom: 50px;
}

#contact > div.form div.button >  button{
    width: 100%;
    max-width: 300px;
    padding: 15px 0;
    margin: 0 auto 50px auto;
    font-size: 16px;
    line-height: 1;
    color: #fff;
    background-color: #b0b0b0;
    display: block;
}

/*
input:-internal-autofill-selected{
    background-color: #fff !important;
}

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}
*/

@keyframes onAutoFillStart { from {} to {}}

input:-webkit-autofill {
    animation-name: onAutoFillStart;
    transition: background-color 50000s ease-in-out 0s;
}

#scrollbar01{
    overflow-y: scroll;
}

#scrollbar01::-webkit-scrollbar
{
        width:5px;
        background:#eee;
}
        #scrollbar01::-webkit-scrollbar:horizontal
        {
                height:5px;
        }
#scrollbar01::-webkit-scrollbar-button
{
        width:5px;
        height:5px;
        background:#666;
}
#scrollbar01::-webkit-scrollbar-piece
{
        background:#eee;
}
        #scrollbar01::-webkit-scrollbar-piece:start
        {
                background:#eee;
        }
#scrollbar01::-webkit-scrollbar-thumb
{
        background:#333;
}
#scrollbar01::-webkit-scrollbar-corner
{
        background:#333;
}

#scrollbar01::-webkit-scrollbar-track{background:#eee;}/*バーの背景色*/
#scrollbar01::-webkit-scrollbar-thumb{background:#333;}/*バーの色*/


/*check*/
#check {
    background-color: #fff;
    padding: 9% 0;
    text-align: center;
}
#check > div.form{
    max-width: 670px;
    margin: 0 auto;
    padding: 0 3.5%;
}

#check > div.form dl{
    background-color: #e3e6e8;
    margin-bottom: 50px;
    display: flex;
    flex-wrap: wrap;
}

#check > div.form dl dt{
    padding: 20px 0 20px 40px;
    width: 25.4%;
    color: #707070;
    border: 1px solid #fff;
    position: relative;
    vertical-align: top;
    font-size: 15px;
    min-width: 140px;
    text-align: left;
}

#check > div.form dl dd{
    padding: 10px;
    width: 65%;
    color: #707070;
    border: 1px solid #fff;
    text-align: left;
    font-size: 15px;
}

#check > div.form dl dt:before{
    content: "";
    width: 25px;
    height: 25px;
    position: absolute;
    top: 24px;
    left: 8px;
    background-size: cover;
    background-repeat: no-repeat;
}

#check > div.form dl dt:nth-child(1):before{
    background-image: url(../img/contact_ikon_1.jpg);
}

#check > div.form dl dt:nth-child(3):before{
    background-image: url(../img/contact_ikon_2.jpg);
}

#check > div.form dl dt:nth-child(4){
    vertical-align: text-top;
    background-image: none;
}

#check > div.form dl dt:nth-child(7):before{
    background-image: url(../img/contact_ikon_3.jpg);
}

#check > div.form dl dt:nth-child(9):before{
    background-image: url(../img/contact_ikon_4.jpg);
}

#check > div.form dl dt:nth-child(11):before{
    background-image: url(../img/contact_ikon_5.jpg);
}

#check > div.form dl dt:after{
    display: block;
    font-size: 14px;
    color: #707070;
    margin-top: -10px;
}

#check > div.form dl dt:nth-child(1):after{
    content: "subject";
}

#check > div.form dl dt:nth-child(3):after{
    content: "name";
}

#check > div.form dl dt:nth-child(7):after{
    content: "phone";
}

#check > div.form dl dt:nth-child(9):after{
    content: "mail-address";
}

#check > div.form dl dt:nth-child(11):after{
    content: "message";
}

#check > div.form p.description button {
    margin: 0 6px;
    font-size: 17px;
    text-decoration: underline;
    color: #707070;
}

#check > div.form div.sendbtn > button{
    width: 100%;
    max-width: 300px;
    padding: 15px 0;
    margin: 0 auto 50px auto;
    font-size: 16px;
    line-height: 1;
    color: #fff;
    background-color: #b0b0b0;
    display: block;
}

/*thanks*/
#contact.thanks > div a{
    width: 100%;
    max-width: 300px;
    padding: 15px 0;
    margin: 50px auto;
    font-size: 16px;
    line-height: 1;
    color: #fff;
    background-color: #b0b0b0;
    display: block;
}


/*▼▼access▼▼*/
#access > iframe {
    width: 100%;
    height: 360px;
    vertical-align: middle;
}

#access > div {
    padding: 6% 0;
    background-color: rgb(205, 215, 220);
}

#access > div > div {
    width: 93%;
    max-width: 1280px;
    margin: 0 auto;
    position: relative;
}

#access > div > div > p {
    width: 45%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

#access > div > div > p > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#access > div > div > div {
    padding: 3% 0;
    float: right;
}

#access > div > div > div > h2 {
    margin-bottom: 4.5%;
    font-size: 45px;
    font-family: 'Josefin Sans', sans-serif;
    line-height: 1;
    letter-spacing: 0.1em;
    position: relative;
}

#access > div > div > div > h2:after {
    content: "";
    width: 35%;
    height: 2px;
    margin-top: -6px;
    background-color: rgb(90, 90, 90);
    display: block;
    position: absolute;
    top: 50%;
    right: 105%;
}

#access > div > div > div > h3 {
    margin-bottom: 4.5%;
    font-weight: 500;
}

#access > div > div > div > h3 > br {
    display: none;
}

#access > div > div > div > p {
    margin-bottom: 9%;
    line-height: 2;
    color: rgb(120, 120, 120);
}

#access > div > div > div > a {
    padding-right: 60px;
    padding-bottom: 6px;
    border-bottom: 2px solid rgb(90, 90, 90);
    font-weight: 500;
    color: rgb(90, 90, 90);
    display: inline-block;
    position: relative;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

#access > div > div > div > a:hover {
    padding-right: 90px;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

#access > div > div > div > a:after {
    content: "";
    width: 2px;
    height: 40px;
    background-color: rgb(90, 90, 90);
    display: block;
    position: absolute;
    bottom: -5px;
    right: 10px;
    -webkit-transform: rotate(-35deg);
    -moz-transform: rotate(-35deg);
    -ms-transform: rotate(-35deg);
    -o-transform: rotate(-35deg);
    transform: rotate(-35deg);
}

@media screen and (max-width:896px) {
/*▼▼access▼▼*/
    #access > iframe {
        height: 450px;
    }

    #access > div {
        padding: 9% 0;
    }

    #access > div > div > p {
        width: 40%;
    }

    #access > div > div > div {
        width: 55%;
        padding: 5% 0;
    }

    #access > div > div > div > h2 {
        margin-bottom: 3%;
        font-size: 42px;
        letter-spacing: 0.02em;
    }

    #access > div > div > div > h2:after {
        display: none;
    }

    #access > div > div > div > h3 {
        margin-bottom: 4%;
    }

    #access > div > div > div > p {
        margin-bottom: 9%;
        font-size: 16px;
        line-height: 1.7;
    }

    #access > div > div > div > p > br {
        display: none;
    }
}

@media screen and (max-width:720px) {
    /*check*/
    #check p.description{
        margin-bottom: 10px;
    }
    
    #check > div.form dl{
        display: block;
    }
    
    #check > div.form dl dt{
        display: block;
        width: calc(100% - 40px);
    }
    
    #check > div.form dl dd{
        display: block;
        width: 100%;
        padding: 20px 0;
        background-color: #fff;
    }
    
    #check > div.form table tr:nth-child(3) th{
        padding: 41px 20px;
        line-height: 0;
    }
    
    #check > div.form table tr:nth-child(1) td{
        padding: 10px;
        width: calc(100% - 20px);
    }
    
    #check > div.form div.sendbtn > button{
        padding: 25px 0;
    }
}

@media screen and (max-width:480px) {
/*contact*/
    #contact > div > div.tel p:nth-child(1){
        border-bottom: 2px solid #707070;
        padding-bottom: 5px;
        text-align: center;
        display: block;
    }
    
    #contact > div > div.tel p:nth-child(1):before,
    #contact > div > div.tel p:nth-child(1):after{
        display: none;
    }
    
    #contact > div.form table th{
        display: block;
        width: calc(100% - 40px);
    }
    
    #contact > div.form table td{
        display: block;
        width: 100%;
        padding: 20px 0;
        background-color: #fff;
    }
    
    #contact > div.form table tr:nth-child(3) th{
        padding: 41px 20px;
        line-height: 0;
    }
    
    #contact > div.form table td input[type="text"],
    #contact > div.form table td input[type="tel"],
    #contact > div.form table td input[type="email"],
    #contact > div.form table td textarea{
        border: 1px solid #707070;
        width: calc(100% - 23px);
        font-size: 16px;
    }
    
    #contact > div.form table tr:nth-child(1) td{
        padding: 10px;
        width: calc(100% - 20px);
    }
    
    #contact > div.form div.button > button{
        padding: 25px 0;
    }
    
    
/*thanks*/
    #contact.thanks > div a{
        padding: 25px 0;
    }
    
    
/*▼▼access▼▼*/
    #access > iframe {
        height: 400px;
    }

    #access > div {
        padding: 0;
    }

    #access > div > div {
        width: 100%;
    }

    #access > div > div > p {
        width: 100%;
        position: static;
    }

    #access > div > div > p > img {
        height: 200px;
        object-fit: cover;
    }

    #access > div > div > div {
        width: 93%;
        padding: 13% 0 16%;
        margin: 0 auto;
        text-align: center;
        float: none;
    }

    #access > div > div > div > h2 {
        margin-bottom: 6%;
        font-size: 36px;
        text-align: center;
    }

    #access > div > div > div > h3 {
        margin-bottom: 6.5%;
        text-align: center;
    }

    #access > div > div > div > h3 > br {
        display: block;
    }

    #access > div > div > div > p {
        margin-bottom: 10%;
        line-height: 1.7;
        color: rgb(75, 75, 75);
    }

    #access > div > div > div > p > br {
        display: none;
    }

    #access > div > div > div > a {
        padding: 14px 30px 15px;
        border: 1px solid rgb(75, 75, 75);
        line-height: 1;
        background-color: #fff;
    }

    #access > div > div > div > a:after {
        display: none
    }
}

@media screen and (max-width:415px) {
    #check > div.form dl dd{
        min-height: 27px;
    }
}
