body {
    width: 100%;
    text-align: center;
    font-family: 'Noto Serif JP', 'serif';
    letter-spacing: 2px;
    line-height: 29px;
    margin-bottom: 0;
    margin-left: 0;
}

#body {
    width: 1100px;
    margin: 0 auto;
}

a {
    text-decoration: none;
    color:#848488;
}

ul {
    list-style: none;
}

h1 {
    font-size: 30px;
    font-family: 'orb';
}

p {
    font-size: 16px;
}




header {
    width: 100%;
    height: 70px;
    margin: auto;
}

.logo_img {
    float: left;
    height: 60px;
    margin-left: 10px;
    margin-bottom: 5px;
}

.nav {
    width: 60%;
    float: right;
}


.header_nav {
    float: right;
    text-align: right;
}

.header_nav li {
    padding: 0 20px 0 26px;
    margin-top: auto;
    float: left;
}

.header_nav li:hover{
    background-color: rgba(252, 229, 220, 1);
    transition: 1s;
    border-radius: 3px;
}

li a:hover {
    color: #000;
    transition: 1s;
}

.main, .main_images {
    width: 100%;
    margin: auto;
}

.main {
    margin-top: 40px;
}

.main_images {
    display: flex;
    flex-direction: row;
    align-items: center;

}

.main_img {
    width: 70%;
       
}

/*   ロゴにh1適用しました     */

h1.main_title {
    width: 30%;
    font-family: "Orb","オーブ";
    margin: auto 0;

}
h1.main_title img {
    width: 100%;
 
}
.container1 {
    height: 300px;
    background-image: url('../images/bg_img_pink.jpg');
    background-size: contain;
}

.sub_title {
    padding-top:80px;
    padding-bottom: 40px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-family: 'orb';
}


.title {
    padding-top:40px;
    padding-bottom: 40px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-family: 'orb';
}


h1 {
    margin:0;
    font-family: 'orb';
}

.icon {
    width:35px;
    height: 35px;
    margin-right:20px;
}

p {
    margin-top: 0;
    margin-bottom: 40px;
}

h2 {
    margin-top: 0;
    font-size: 30px;
    color: #f7142f;
    font-weight: bold;
    font-family: 'orb';
}

.comment1 {
    position: relative;
    width: 100%;
    height: 448px;
}

.wedding {
    width: 100%;
}

.plan {
    width: 700px;
    position: absolute;
    bottom: 0;
    right: 50px;
}

.res_p_set {
    position: absolute;
    top:10;   
    left: 20px;
}

.plan {
    display: inline-block;
}

.plan img, .res_p img {
    padding-top: 20px;
    width:70%;
}






.set {
    width: 1100px;
    /*height: 208px;*/
    height: auto;
}
.place {
    background-image: url('../images/set_bg1.jpg');
    background-size: auto;
    background-repeat: no-repeat;
    background-position: center;
}

@media screen and (max-width:540px) {
    .place {
        background-image: url('../images/place.jpg');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: bottom;
    }
}


.comment3 {
    margin-bottom: 40px;
    background-color:rgba(255, 255, 255, 0.5);
    background-blend-mode:lighten;
    width: 80%;
    margin: 20px auto;
}

.title2 {
    padding-top: 20px;
    margin-bottom: 20px;
}

table {
    margin: auto;
}

.comment3 th, .comment3 td {
    width: 50%;
    padding-bottom: 20px;
}

.karuizawa1 {
    width: 90%;
}

.karuizawa2 {
    width: 70%;
}




.link {
    display: inline-block;
    color: #000;
    font-size: 16px;
    background-color: rgba(249, 159, 160, 0.2);
    margin: 40px auto 40px auto;
    text-align: center;
    padding: 15px 100px 15px 100px;
}

.link:hover {
    background-color: rgba(249, 159, 160, 1);
    transition: 1s;
}

.comment2 {
    margin: auto;
    width: 75%;
    background-image: url('../images/rent_bg1.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.comment2 p {
    margin-bottom: 20px;
}

.sub-title2 {
   padding-top: 30px;
   font-family: 'orb';
}


.number {
    width: 70%;
    display: block;
    margin: auto;
}

.number_p {
    margin-top: 5px;
}

.brides {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: auto;
    margin-bottom: 50px;
}

.brides p {
    width: 50%;
    margin-bottom: 0;
}

.rent_bg1 {
    width: 100%;
}

.access {
    height: 100%;
}

.address {
    display: flex;
    justify-content: center;
}

iframe {
    margin-left: 50px;
}

.address table {
    text-align: left;

}

.address th {
    padding-right: 10px;
}

.address th, .address td {
    padding-bottom: 0;
}

.address a {
    color:#000; 
}



.mail_contact {
    background-image: url('../images/mail_button_before.jpg');
    background-size: contain;
    width: 410px;
    height: 65px;
    margin: auto;
    margin-top: 80px;
}

.mail_contact:hover {
    background-image: url('../images/mail_button_after.jpg');
    transition: 1s;
    -webkit-background-image: url('../images/mail_button_after.jpg');
}


.form_p {
    position: absolute;
    color: #000;
    top: 25%;
    left:0;
    bottom: 0;
    right: 0;
    margin: auto;
    font-size: 24px;
}

.mail_contact2 {
    width: 60%;
    opacity: 0.4;
}


.mail_contact2:hover {
    opacity: 1;
}

.button:hover {
    opacity: 1;
    transition: 0.5s;
}






footer {
    margin-top: 80px;
    width: 100%;
    height: 100%;
    background-color: rgb(233,133,135);
}

.footer_nav {
    padding-top: 20px;
    margin: auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.footer_nav a, .res_footer_nav a {
    color: #000;
    padding: 0 20px 0 20px  ;
    margin-top: auto;
}

.footer_nav li:hover{
    background-color: rgba(252, 229, 220, 1);
    transition: 1s;
    border-radius: 3px;
}

.res_footer_nav a:hover {
    background-color: rgba(252, 229, 220, 1);
    transition: 1s;
    border-radius: 3px;
}

footer p {
    margin-top: 80px;
}


@font-face {
    font-family: 'orb';
    src: url('//typesquare.com/3/tsst/script/ja/typesquare.js?5c80c65d3df845d58540257be90393a3')
  }
