@charset "utf-8";

#topimg{
    background: url(../images/home/topimg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}
#topimg div.txt_area{
    width: 80vw;
    position: absolute;
    left: calc(50% - 560px);
    bottom: 20vh;
}
#topimg div.txt_area p{
    font-size: 21px;
    color: #fff;
    font-weight: 600;
}

h3.en_title{
	font-size: 86px;
}
h3.en_title span.jp_title{
    font-size: 21px;
    color: #333;
    margin-left: 30px;
}

#home01 div.flex > div:nth-of-type(2){
	width: 50%;
}
#home01 div.flex a.f_coco{
    font-size: 30px;
    letter-spacing: 10px;
    display: block;
    margin-bottom: 30px;
    padding: 5px 10px;
    transition: .3s;
}
#home01 div.flex a.f_coco:hover{
	background: #000;
	color: #fff;
}
#home02{
	position: relative;
}
#home02 h3{
    position: absolute;
    top: calc(50% - .5em);
    left: calc(50% - 1.5em);
    text-shadow: 0 0 20px #fff, 0 0 10px #fff;
}
#home02 ul.menu_list li{
	background: url(../images/home/menulist01.jpeg) no-repeat;
	background-size: cover;
	background-position: center;
}
#home02 ul.menu_list li:nth-of-type(2){
    background: url(../images/home/menulist02.jpeg) no-repeat;
    background-size: cover;
    background-position: center;
}
#home02 ul.menu_list li:nth-of-type(3){
    background: url(../images/home/menulist03.jpeg) no-repeat;
    background-size: cover;
    background-position: center;
}
#home02 ul.menu_list li:nth-of-type(4){
    background: url(../images/home/menulist04.jpeg) no-repeat;
    background-size: cover;
    background-position: center;
}
#home02 ul.menu_list li:nth-of-type(5){
    background: url(../images/home/menulist05.jpeg) no-repeat;
    background-size: cover;
    background-position: center;
}
#home02 ul.menu_list li:nth-of-type(1),#home02 ul.menu_list li:nth-of-type(2){
	width: 50%;
	height:45vh;
}
#home02 ul.menu_list li:nth-of-type(3),#home02 ul.menu_list li:nth-of-type(4),#home02 ul.menu_list li:nth-of-type(5){
	width: calc(100% / 3);
	height: 45vh;
}
#home02 ul.menu_list li a{
    display: inline-block;
    width: 100%;
    height: 100%;
    background: rgb(255,253,236,.5);
    transition: .3s;
}

#home02 ul.menu_list li a h4{
    text-align: center;
    padding-top: 20vh;
    font-size: 24px;
}
#home02 ul.menu_list li:nth-of-type(3) a h4,#home02 ul.menu_list li:nth-of-type(4) a h4,#home02 ul.menu_list li:nth-of-type(5) a h4{
    text-align: center;
    padding-top: 19vh;
    font-size: 24px;
}
#home02 ul.menu_list li a h4 span{
    display: block;
    width: 80%;
    margin: 0 auto;
    border: 1px solid #333;
    font-size: 46px;
    font-weight: 300;
}
#home02 ul.menu_list li a:hover{
	background:transparent;
}
#home02 ul.menu_list li a:hover h4{
	text-shadow: 0 0 20px #fff,0 0 10px #fff;
}
#home02 ul.menu_list li a:hover h4 span{
	background: #fff;
	border:none;
}
#home02 h3 + p{
    position: absolute;
    top: calc(50% + 15px);
    font-size: 24px;
    background: #000;
    color: #fff;
    padding: 5px 40px;
}
#home03 div.sns_area,#home03 div.sns_area + a{
    display: inline-block;
    height: 90vh;
    width: 50vw;
}
#home03 div.sns_area + a{
    background: url(../images/home/cafe_img.jpeg) no-repeat;
    background-size: cover;
    background-position: left center;
    position: relative;
    padding: 0 0 0;
    color: #fff;
    font-size: 24px;
    text-align: center;
}
#home03 div.sns_area + a div{
    position: absolute;
    left: calc(50% - 4.5em);
    top: calc(50% - 15%);
}
#home03 div.sns_area + a span{
    display: block;
    font-size: 100px;
    line-height: 1.5em;
}
.sectitle{
    text-align: center;
    font-size: 86px;
    line-height: 1.5em;
    margin-bottom: 40px;
}
.sectitle span{
    display: block;
    font-size: 24px;
    color: #333;
    letter-spacing: 2px;
    line-height: 1;
}
#home04 h3.sectitle{
    margin-top: 40px;
}
#home04{
    background:#ffeec1;
}
#home04 div.wrap > img{
    width: 100%;
    height: 50vh;
    object-fit: cover;
    object-position: center;
}
#home04 div.wrap > img + p{
    font-size: 21px;
    margin: 20px auto;
}
#home04 div.wrap > .flex{
    padding:40px 0;
}
dl.com_prf dt.name_txt{
    font-size: 28px;
    font-weight: bold;
}
dl.com_prf dd.add{
    font-size: 16px;
    margin: 10px 0;
}
dl.com_prf dd.tel,dl.com_prf dd.mail{
    font-size: 24px;
    letter-spacing: 2px;
    font-weight: bold;
    line-height: 1.3em;
}
dl.com_prf dd.tel span:after,dl.com_prf dd.mail span:after{
    content:"：";
    font-size: 24px;
    display: inline-block;
}
dl.com_prf dd:last-of-type{
    font-size: 16px;
    line-height: 1.3em;
    margin-top: 10px;
}
div.map{
    width: 650px;
    height: 400px;
}
#home03 div.sns_area{
    position: relative;
}
#home03 div.sns_area > div{
    position: absolute;
    left: calc(50% - 250px);
    top: calc(45vh - 308px);
    border: 1px solid #ddd;
    padding: 50px 20px 0;
    box-shadow: 0 0 10px #dcdcdc;
    width: 500px;
    height: 60vh;
    min-height: 650px;
}
#home03 div.sns_area dl dt{
    font-size: 24px;
    line-height: 50px;
    width: fit-content;
    margin: 0 auto;
    font-weight: bold;
}
#home03 div.sns_area dl dt img{
    width: 50px;
    height: 50px;
    margin-right: 15px;
}
#home03 div.sns_area dl dd{
    text-align: center;
    margin-top: 1em;
}
#home03 div.sns_area dl dd a{
    font-size: 18px;
    background: #0095f6;
    color: #fff;
    font-weight: bold;
    padding: 0px 10px;
    display: inline-block;
    border-radius: 5px;
    margin: 0 auto;
}
#home03 div.sns_area dl{
    margin-bottom: 20px;
}
a.fade{
    transition: .3s;
}
a.fade:hover{
    opacity: .7;
}