@charset "UTF-8";
/* CSS Document */


/*--------------------------------
  Main Layout 
--------------------------------*/

#main_area{
	width:100%;
	height:450px;
    overflow: hidden;
    background:url('image/image.jpg') no-repeat left top;
    background-size:cover;
	
}
#main_area .copy_block{
	width:80%;
    margin:0 auto;
    padding-top:200px;
    
    display:flex;
    align-items:flex-start;
}
#main_area .copy_block h2{
	display:block;
    text-align:center;
    font-family: "Cormorant Garamond", system-ui;
    font-weight: 300;
    font-style: normal;
	font-size: clamp(2rem, -0.729rem + 13.65vw, 7.8rem);
    
    letter-spacing:0.3rem;
    line-height:1.3;
    
    color:#FFF;
    text-shadow: 2px 1px 2px rgba(0,0,0,0.8);
	
}
#main_area .copy_block h2 span{
    display:block;
    text-align:center;
    font-family: "Shippori Mincho", system-ui;
    font-weight: 400;
    font-style: normal;
    font-size:clamp(1.4rem, 0.929rem + 2.35vw, 2.4rem);
    text-shadow: none!important;
    letter-spacing:0!important;
}



@media screen and (max-width:767px) {
    #main_area{
        width:100%;
        height:40vh;
        overflow: hidden;
        background:url('image/image.jpg') no-repeat center top;
        background-size:cover;

    }
    #main_area .copy_block{
        width:80%;
        margin:0 auto;
        padding-top:20vh;

        display:flex;
        align-items:flex-start;
    }
    #main_area .copy_block h2{
        
    }
    #main_area .copy_block h2 span{
        
    }
        
}


/*--------------------------------
  Gaiyou Layout 
--------------------------------*/

.grey_bk{
    background:url("/common/image/bk.jpg") repeat-x;
    background-position:left top 61.538vw!important;
    background-size:100%;
    overflow:hidden;
}
.contents_block{
    width:100%;
}

.contents_block .cont_01,
.contents_block .cont_02{
	width:77%;
    margin:0 auto;
}
@media screen and (max-width:767px) {
    .grey_bk{
        background-position:left bottom!important;
        background-size:120%;
    }
    .contents_block{
    }

    .contents_block .cont_01,
    .contents_block .cont_02{
        width:90%;
        margin:0 auto;
    }
}

/*--------------------------------
  Gaiyou Layout 
--------------------------------*/
.contents_block .cont_01 h3{
    font-family: "Noto Serif JP", system-ui;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
    font-size:clamp(1rem, 0.02rem + 4.9vw, 4rem);
    color:#000;
    text-align:center;
    line-height:1.8;
    
    padding:4.615vw 0 3.077vw 0;
}


.contents_block .cont_01 .copy_box{
    display:block;
    font-family: "Noto Sans JP", system-ui;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    font-size:clamp(0.8rem, 0.539rem + 1.31vw, 1.6rem);
    color:#000;
}

.contents_block .cont_01 .photo_box{
    margin:4.615vw auto;
    width:100%;
}

.contents_block .cont_01 table{
    width:100%;
    font-family: "Noto Sans JP", system-ui;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    
    text-align:left;
    
    margin-bottom:4.615vw;
    
    border-bottom:solid 1px #adadad;
}

.contents_block .cont_01 td{
    padding:0.769vw 1.538vw;
    
    border-top:solid 1px #adadad;
    
    font-size:clamp(0.7rem, 0.409rem + 1.45vw, 1.5rem);
}
.contents_block .cont_01 th{
    width:31%;
    background:#FFF;
    padding-left:6.154vw;
    
    
    font-size:clamp(0.7rem, 0.409rem + 1.45vw, 1.5rem);
    font-weight: 300;
    border-top:solid 1px #adadad;
}

@media screen and (max-width:767px) {
	.contents_block .cont_01 h3{
        padding:4.615vw 0 3.077vw 0;
    }


    .contents_block .cont_01 .copy_box{
    }

    .contents_block .cont_01 .photo_box{
        margin:4.615vw auto;
        width:100%;
    }

    .contents_block .cont_01 table{
        

        margin-bottom:4.615vw;

        border-bottom:solid 1px #adadad;
    }

    .contents_block .cont_01 td{
        padding:0.769vw 1.538vw;
        line-height:1.6;
        letter-spacing: initial;

    }
    .contents_block .cont_01 th{
        padding-left:1.046vw;
        letter-spacing: initial;
    }
}

/*--------------------------------
  Service Layout 
--------------------------------*/
.contents_block .cont_02 h3{
    font-family: "Cormorant Garamond", system-ui;
    font-weight: 300;
    font-style: normal;
    font-size:clamp(2rem, -0.353rem + 11.76vw, 7rem);
    color:#000;
    line-height:1.0;
    text-align:center;
}
.contents_block .cont_02 ul{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content: space-between;
    margin:4.615vw 0 2.308vw;
}
.contents_block .cont_02 li{
    display:block;
    background-color:var(--maincolor);
    margin-bottom: 1.154vw;
    margin-right: 1.154vw;
    width: 6.8%;
    /* 正方形にするのに必要な部分 */
    height: auto;
    position: relative;
}
.contents_block .cont_02 li:nth-child(12n){
    margin-right: 0;
}
.contents_block .cont_02 li:before {
    content: "";
    display: block;
    padding-top: 100%; /* ここを100％にすることで正方形になる */
}
.contents_block .cont_02 li span{
    /* 正方形にするのに必要な部分 */
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* 中央寄せ */
    text-align: center;
    padding: 0.692vw;
    box-sizing: border-box;
}
/* 高さの中央揃えに必要な部分 */
.contents_block .cont_02 li span:before{
    content: "";
    height: 100%;
    vertical-align: middle;
    width: 0px;
    display: inline-block;
}
.contents_block .cont_02 li span > *{
    vertical-align: middle;
    display: inline-block;
}
.contents_block .cont_02 li span img{
    max-width: 100%;
    height: auto;
    max-height: 100%;
}
.contents_block .cont_02 li.blank{
background-color:#FFF!important;
}

.contents_block .cont_02 .links{
	width:27.692vw;
    margin:0 auto 2.308vw;
	
	display:block;
	
	font-size:clamp(0.7rem, 0.439rem + 1.31vw, 1.5rem);
	
	text-align:center;
}
.contents_block .cont_02 .links a{
	display:block;
	padding:10px 0;
	
	color:var(--subcolor);
	
	border:solid 1px var(--subcolor);
}
.contents_block .cont_02 .links a:hover{
	color:#FFF;
	background:var(--subcolor);
	border:solid 1px var(--subcolor);
    text-decoration: none;
}
@media screen and (max-width:767px) {
    .contents_block .cont_02 h3{
    }
    .contents_block .cont_02 ul{
        
    }
    .contents_block .cont_02 li{
        width: 14%;
    }
    .contents_block .cont_02 li:nth-child(6n){
        margin-right: 0;
    }
    .contents_block .cont_02 li:before {
        
    }
    .contents_block .cont_02 li span{
        /* 中央寄せ */
        padding: 1.307vw;
    }
    /* 高さの中央揃えに必要な部分 */
    .contents_block .cont_02 li span:before{
        
    }
    .contents_block .cont_02 li span > *{
        
    }
    .contents_block .cont_02 li span img{
        
    }
    .contents_block .cont_02 li.blank{
        
    }

    .contents_block .cont_02 .links{
        width:60%;
        margin:0 auto 2.308vw;

        display:block;

        text-align:center;
        font-weight:400;
    }
    .contents_block .cont_02 .links a{
        
    }
    .contents_block .cont_02 .links a:hover{
        
    }
}
