@charset "utf-8";



/* main */

main {margin:8% auto 0;}
main h2 {
    width:80%;
    margin:0 auto;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
}
main h2 img {max-width:100%; border-radius:10px;}

@media only screen and (max-width:640px){
    
    main {margin:90px auto 0;}
    main h2 {width:90%;}
    main h2 img {border-radius:5px;}
}



/* concept */

.concept {
    width:90%;
    margin:0 auto;
    padding:100px 0 0;
}
.concept h3 {
    width:100%;
    margin:0 auto 10px;
    color:#b2823c;
    font-size:3rem;
    text-align:center;
    letter-spacing:0;
}
.concept p {text-align:center;}
.concept p b {
    margin:70px auto 10px;
    display:block;
    color:#b2823c;
    font-size:1.6rem;
    font-weight:500;
}

@media only screen and (max-width:640px){
    
    .concept {padding:40px 0;}
    .concept h3 {font-size:2.5rem; margin:0 auto;}
    .concept p b {font-size:1.4rem;}
}



/* pointIcon */

dl.pointIcon {
    width:96%;
    max-width:1000px;
    margin: 100px auto 0;
    padding:0;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:stretch; align-items:stretch;
}
dl.pointIcon dt {
    width:100%;
    margin:0 0 15px;
    font-size:2rem;
    text-align:center;
}
dl.pointIcon dd {
    width:19%;
    margin:6px 0;
    padding:15px 0;
    text-align:center;
    line-height:1.5;
    border-right:solid 1px #e8e4e2;
    border-bottom:solid 1px #e8e4e2;
    border-radius:8px;
    background:#fffefc;
}
dl.pointIcon dd a {display:flex; flex-flow:row wrap; justify-content:flex-start; align-content:center; align-items:center; flex-direction:column;}
dl.pointIcon dd a img {max-width:85%; margin:0 0 5px;}

@media only screen and (max-width:640px){
    
    dl.pointIcon {
        width:90%;
        margin:0 auto;
        justify-content:center;
    }
    dl.pointIcon dt {
        font-size:1.5rem;
        line-height: 1.5;
    }
    dl.pointIcon dd {
        width:45%;
        margin:10px 1.5% 0;
        padding:10px 0;
    }
    dl.pointIcon dd a img {max-width:80%; margin:0;}
    dl.pointIcon dd a.textlong {font-size:0.9rem; letter-spacing:0.05rem;}
}



/* point */

.point {
    width:92%;
    margin:0 auto;
    padding:100px 0 0;
}
.point > div {
    width:100%;
    margin: 0 auto 100px;
    padding:0;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:center; align-items:center;
}
.point > div img {
    max-width:50%;
    margin: 0;
    border-radius:20px 0 20px 0;
}
.point > div > div {
    width:45%;
    margin: 0;
    padding:0;
}
.point > div h3 {
    padding: 0;
    font-size:1.8rem;
    line-height: 1.5;
    position:relative;
}
.point > div h3 > span {
    margin:5px 0 25px;
    display: block;
    font-size:1rem;
    letter-spacing:0.08rem;
}
.point div > span {
    margin:0 0 20px;
    display:block;
    font-size:2.5rem;
    font-family:"Dancing Script", cursive;
    color:#f0809b;
}
.point > div p {
    width:100%;
    margin:10px 0 0;
}
.point > div p b {
    color:#b2823c;
    font-size:1.2rem;
    font-weight:normal;
}
.point > div p small {
    margin-left:3px;
    display:inline-block;
    letter-spacing:0;
}
.point > div a {
    width:250px;
    margin:20px 0 0;
    padding:7px 20px 7px 20px;
    color:#6e6966;
    display:inline-block;
    border:solid 1px #6e6966;
    position:relative;
}
.point > div a::after {
    content: "";
    width: 10px;
    height:10px;
    margin:auto;
    display:inline-block;
    vertical-align:middle;
    color:#6e6966;
    line-height:1;
    position:absolute; top:0; bottom:0; right:20px;
    border:0.1em solid currentColor;
    border-left:0;
    border-bottom:0;
    box-sizing:border-box;
    transform:translateX(-25%) rotate(45deg);
    transition: .3s;
}
.point > div a:hover::after {right:15px;}

@media only screen and (min-width:641px){
    
    .point > div:nth-child(even) > div {
        width:40%;
        padding-left:4%;
    }
    .point > div:nth-child(even) img { order:2;}
    .point > div:nth-child(even) > div { order:1;}
}

@media only screen and (max-width:640px){

    .point {
        padding:50px 0 100px;
    }
    .point > div {
        margin: 70px auto 0;
        display:flex; flex-flow:row wrap; justify-content:center;
    }
    .point > div img {
        max-width:90%;
        margin:0 0 15px;
    }
    .point > div h3 {
        font-size:1.7rem;
        line-height: 1.5;
    }
    .point > div h3 > span {
        font-size:0.9rem;
        letter-spacing:0.05rem;
    }
    .point div > span {
        margin:0;
        font-size:1.5rem;
    }
    .point > div > div {
        width:88%;
        margin: 0;
        padding:0;
    }
    .point > div p {
        font-size:0.9rem;
        letter-spacing:0.02rem;
    }
    .point > div p small {font-size:0.7rem;}
}



/* invitation */

.invitation {
    width:90%;
    max-width:800px;
    margin:0 auto 120px;
}
.invitation h3 {
    width:100%;
    margin:0 auto 20px;
    color:#b2823c;
    font-size:1rem;
    text-align:center;
}
.invitation h3 span {
    display:block;
    
    font-size:3rem;
    line-height:1.5;
}
.invitation p {
    text-align: center;
}
.invitation a {
    width:260px;
    margin: 20px auto 0;
    padding:5px 0;
    display:block;
    color:#b2823c;
    font-size:1.1rem;
    text-align:center;
    border:solid 1px #b2823c;
    border-radius:30px;
    background:#fff;
}

@media only screen and (max-width:640px){
    
    .invitation p {
        width:90%;
        margin: 0 auto;
        font-size:0.9rem;
        line-height:1.8;
        letter-spacing:0;
    }
}



/* mailform */

.mailform {
    width:100%;
    margin:0 auto 80px;
    padding:80px 0;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center; flex-direction:column;
    background:linear-gradient(25deg, rgba(92,73,65, 0.4), rgba(92,73,65, 0.8)) ,url("../img/click-form-pc.jpg") center no-repeat;
    background-size:cover;
}
.mailform h3 ,
.mailform p {
    color:#fff;
    text-align:center;
    text-shadow:#372414 5px 0 10px;
    line-height:1.5;
}
.mailform h3 {font-size:2.2rem; margin:0 0 10px;}
.mailform p  {font-size:1.2rem;}

.mailform a {
    margin:10px 0 0;
    color:#fff;
    font-size:2.8rem;
    text-shadow:#372414 5px 0 10px;
}

@media only screen and (max-width:640px){
    
    .mailform {
        margin:0 auto 50px;
        padding:50px 0;
        background:linear-gradient(25deg, rgba(92,73,65, 0.4), rgba(92,73,65, 0.8)) ,url("../img/click-form-sp.jpg") center no-repeat;
        background-size:cover;
    }
    .mailform h3 {font-size:1.6rem;}
    .mailform p  {font-size:1rem;}
    .mailform a  {font-size:2rem;}
}



/* くるくる回るテキスト */

.rollAnime.roll span {
    transition-property: opacity,transform;
    transform: rotateY(360deg);
    transition: all .8s cubic-bezier(.77,0,.175,1);
    transition-timing-function: cubic-bezier(.77,0,.175,1);
    display: inline-block;
}

