@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500&family=Noto+Sans+JP:wght@400;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap')

html,
body {
	padding: 0;
	margin: 0;
}
img {
	width: 100%;
	border: none;
}
ul,li {
	list-style: none;
	padding: 0;
	margin: 0;
}
h3,h4,h5 {
	margin: 0;
	padding: 0;
	line-height: 1.0;
}
#by {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	line-height: 1.8;
	font-family: 'Noto Sans JP', sans-serif;
	padding-bottom: 50px;
	overflow: hidden;
}
#by a {
	color: #000;
	text-decoration: none;
}
#by .anim {
	opacity: 0;
	transition: 1.5s all 0s;
}
#by .anim.ac {
	opacity: 1;
}
/*////////////////////////////////////////////////
                 #main_visual
////////////////////////////////////////////////*/
.f-en {font-family: 'EB Garamond', serif;}
.cener {text-align: center;}

#by #main_visual {
	position: relative;
}
#by #main_visual .visual {
	position: relative;
	line-height: 0;
}
#by #main_visual .title {
    width: 370px;
    position: absolute;
    top: 28%;
    left: 11%;
    z-index: 2;
    transition: 1.5s all 0.5s ease;
}

@media only screen and (max-width: 768px)  {
	#by #main_visual .title {
    width: 37%;
    top: 20%;
    left: 9%;
    }
	
}

/*////////////////////////////////////////////////
           #main_contents .about
////////////////////////////////////////////////*/
#by #main_contents .about {
    width: 550px;
	margin: 6% auto 7%;
}
#by #main_contents .about h3 {
    text-align: center;
    font-weight: 400;
    margin-bottom: 22px;
    letter-spacing: 1px;
}  
#by #main_contents .about p {
    text-align: center;
    font-size: 12px;
    line-height: 1.5;
    color: #6d6d6d;
    letter-spacing: .5px;
}
#by #main_contents .about p .brown,
#by #main_contents .about p .beige,
#by #main_contents .about p .black {
    font-size: 14px;
	padding-right: 3px;
}
#by #main_contents .about p .brown{
    color: #4c2d14;
}
#by #main_contents .about p .beige{
    color: #d6b79d;
}
#by #main_contents .about p .black{
    color: #111111;
}
#by #main_contents .about .read {
	line-height: 2.0;
	margin: 5% 0 0;
    font-size: 13px;
}
#by #main_contents .about a {
	display: block;
    margin: 5% auto 0;
    background: #222;
    color: #fff;
    text-align: center;
    font-size: 15px;
    padding: 1%;
    width: 130px;
}
@media only screen and (max-width: 768px)  {
	#by #main_contents .about {
    width: 90%;
    margin: 13% auto 17%;
    font-size: 11px;
    }
	#by #main_contents .about h3 {
    font-size: 16px;
    }
	
}
/*////////////////////////////////////////////////
                 #main_contents
////////////////////////////////////////////////*/
#by #main_contents {
    margin: 0 auto 5%;
	width: 1200px;
}
@media only screen and (max-width: 768px)  {
	#by #main_contents {
    width: 100%;
    }
	
}
/*////////////////////////////////////////////////
            #main_contents .menu
////////////////////////////////////////////////*/
#by #main_contents .menu {
	width: 100%;
	border-top: solid 1px;
	border-bottom: solid 1px;
    margin-bottom: 8%;
}
#by #main_contents .menu .menu-inner {
    display: flex;
	justify-content: center;
	align-items: center;
    align-content: center;
    margin: 0 auto;
    padding: 7px 0;
	width: 580px;
}
#by #main_contents .menu .menu-inner a{
	position: relative;
	color: #111111;
	font-weight: 400;
	padding: 0 3%;
	margin: 0 4%;
    font-size: 32px;
}
#by #main_contents .menu .menu-inner a::after{
	position: absolute;
    content: "∨";
    right: 0%;
    bottom: 28%;
	line-height: 1.0;
    font-size: 13px;
    font-weight: 500;
}
#by #main_contents .menu .menu-inner a .brown,
#by #main_contents .menu .menu-inner a .beige,
#by #main_contents .menu .menu-inner a .black {
	line-height: 1.0;
    font-size: 27px;
	padding-right: 5px;
}
#by #main_contents .menu .menu-inner a .brown{
    color: #4c2d14;
}
#by #main_contents .menu .menu-inner a .beige{
    color: #d6b79d;
}
#by #main_contents .menu .menu-inner a .black{
    color: #111111;
}
@media only screen and (max-width: 768px)  {
	#by #main_contents .menu {
    margin-bottom: 12%;
    }
    #by #main_contents .menu .menu-inner {
    width: 88%;
    margin: 0 auto;
    }
	#by #main_contents .menu .menu-inner a {
    font-size: 22px;
    margin: 0px 2%;
    }
	#by #main_contents .menu .menu-inner a .brown,
    #by #main_contents .menu .menu-inner a .beige,
    #by #main_contents .menu .menu-inner a .black {
    font-size: 16px;
    }
	
}
/*////////////////////////////////////////////////
            #main_contents .
////////////////////////////////////////////////*/
#by #main_contents .itembox {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
	width: 880px;
	margin: 0 auto 11%;
	font-size: 12px;
}
#by #main_contents .itembox .div1 {
	grid-area: 1 / 1 / 4 / 3;
	margin-right: 18%;
}
#by #main_contents .itembox .div1 img {
	display: block;
    width: 165px;
    margin: 0px auto 8%;
}
#by #main_contents .itembox .div2 {
	grid-area: 4 / 1 / 4 / 3;
	margin-right: 18%;
}
#by #main_contents .itembox .div2 p {
    margin: 0 0 11%;
}
#by #main_contents .itembox .div2 a {
    display: block;
    width: 100%;
    position: relative;
    padding-bottom: 4px;
    border-bottom: solid 1px;
	font-size: 18px;
}
#by #main_contents .itembox .div2 a::after{
	position: absolute;
    content: "+";
    right: 1%;
    bottom: 7px;
    line-height: 1.0;
    font-size: 19px;
    font-weight: 200;
}
#by #main_contents .itembox .div3 {
	grid-area: 1 / 3 / 2 / 5;
}
#by #main_contents .itembox .div3 p {
	width: 72%;
	margin: 0 auto;
}
#by #main_contents .itembox .div3 h4 {
	text-align: center;
    font-weight: 400;
    font-size: 65px;
    padding: 0 0 5%;
    line-height: 1.0;
}
#by #main_contents .itembox .div4 {
	grid-area: 2 / 3 / 6 / 5;
}
#by #main_contents .itembox .div4 img {
	display: block;
	width: 90%;
    margin: 0 auto;
}
@media only screen and (max-width: 768px)  {
    #by #main_contents .itembox {
    display: block;
	width: 92%;
	margin: 0 auto 14%;
	font-size: 11px;
    }
	#by #main_contents .itembox .div3 p {
    width: 88%;
    margin: 0 auto 9%;
    }
	#by #main_contents .itembox .div3 h4 {
    font-size: 50px;
	padding: 0 0 6%;	
    }
	#by #main_contents .itembox .div4 {
    margin-bottom: 12%;
    }
	#by #main_contents .itembox .div4 img {
    width: 88%;
    }
	#by #main_contents .itembox .div-sp {
	display: flex;
    align-items: center;
    justify-content: center;
	}
	#by #main_contents .itembox .div1 {
    margin-right: 8%;
    width: 100%;
    }
	#by #main_contents .itembox .div1 img {
    width: 100%;
    margin: 0;
    }
	#by #main_contents .itembox .div2 {
    margin-right: 0%;
	}
}
/************************************************************
                js
************************************************************/
#by .anim {
	opacity: 0;
	transition: 1.5s all 0s;
}
#by .anim.ac {
	opacity: 1;
	 transform: translate(0);
}
/************************************************************
                view
************************************************************/
   #by .spview {
		display: none;
	}	
	#by .pcview {
		display: block;
	}
@media only screen and (max-width: 768px)  {
	#by .spview {
		display: block;
	}	
	#by .pcview {
		display: none;
	}	
}