@charset "UTF-8";
/* CSS Document */
body{margin: 0px !important;}
h1,h2,h3,h4,h5,h6{margin: 0;}
ul {
    display: block;
    list-stslideyle-type: disc;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
}
#by{
    font-family: "Noto Sans JP", sans-serif;
    margin: 0 auto;
    line-height: 2.0;
    font-size: 12px;
    letter-spacing: 1px;
	width: 100%;
    box-sizing: border-box;
    color: #111;
    -webkit-text-size-adjust: 100%;
	background: #fff;
}
#by a {
	text-decoration: none;
	color: #2b2b2b;
}
#by p {
    margin: 0;
}
#by　a:hover {
	opacity: 1;
}
#by .clear{
	clear: both;
}
#by img{
    width: 100%;
    line-height: 0;
}
#by ul,#by li {
	list-style: none;
	padding: 0;
	margin: 0;
}
#by .f-en {
	/*/font-family: "ivymode", sans-serif;/*/
	font-family: aktiv-grotesk, sans-serif;
}

@media only screen and (min-width: 769px)  {
	#by {
		font-size: 12px;
		padding-bottom: 0%;
		border: none;
	}
}
/***************************************************
                by_header
***************************************************/
#by #by_header {
	width: 100%;
    margin: 0 auto;
    padding-bottom: 4%;
    background: #fff;
    /*border-bottom: solid 1px #5f5f5f;*/
}
#by #by_header .main {
	width: 100%;
    position: relative;
    margin: 0 0 8%;
}
#by #by_header .main .main-img {
	height: 108vw;
	position: relative;
}
#by #by_header .main .ttl-star {
	width: 8%;
    display: block;
    margin: 0 auto 0;
    padding-top: 7%;
}
#by #by_header .main .bg {
	margin: 0 auto;
}
#by #by_header .main .ttl {
	width: 68%;
    position: absolute;
    top: 39%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#by #by_header .main .item {
	position: absolute;
}


#by #by_header .main .read {
    padding: 8% 0 0%;
    text-align: center;
    
}
#by #by_header .main .read p {
    margin: 0 auto;
    font-size: 11px;
    width: 90%;
}
#by #by_header .main .read p span {
    display: block;
	font-size: 80%;
	margin-top: 2%;
}
@media only screen and (min-width: 769px)  {
	#by #by_header {
		width: 34%;
        margin: 0 auto 0 0;
        position: sticky;
		top: 0%;
        height: 98vw;
	}
	#by #by_header .main .main-img {
		height: 36vw;
	}
	#by #by_header .main  .ttl{
		width: 60%;
	}
	#by #by_header .main .ttl-star {
		width: 7%;
		padding-top: 6%;
	}
	#by #by_header .main .read p {
		font-size: 12px;
	}
	
}
/***************************************************
                content
***************************************************/
#by #content {
	 margin: 0%;
}
@media only screen and (min-width: 769px) {
	#by #content {
		width: 65.8%;
        margin: -104vw 0 0 auto;
        
	}
}
#by #content section {
	margin: 0 auto;
	padding: 0 0 12%;
	/*border-bottom: solid 1px #5f5f5f;*/
}
#by #content section .center {
	text-align: center;
}
#by #content section:nth-of-type(even) {
	/*background: #dddcce70;*/
}
#by #content section .midashi {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #fff;
    background: #000;/*背景色*/
}
#by #content section .midashi p {
    margin: 0; 
    padding: 0;
	font-size: 18px;
	font-weight: 600;
	text-align: center;
	letter-spacing: .6px;
}
#by #content section .text {
    width: 88%;
    margin: 0 auto 0;
}
#by #content section .text_center{
    width: 88%;
    margin: 0 auto 5%;
	text-align: center;
}
#by #content section .text_dots {
    width: 88%;
    margin: 0 auto 0;
}
#by #content section .text .btn{
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 250px;
    margin: 0 auto;
    padding: .9em 2em;
    border: none;
    border-radius: 25px;
    background-color: #000;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
}

#by #content section .text .btn::after {
    width: 1.25em;
    /*height: 1.25em;*/
	height: auto;
    margin-left: 8px;
    content: '▶︎';
}
#by #content section .special{
	position: relative;
	display: block;
	margin: 1em auto 1em;
	text-align: center;
	font-family: "Times New Roman", Times, serif;
	font-size: 21px;
	font-weight: 500;
}
#by #content section .special:before{
	content: '';
    position: absolute;
    bottom: -5px;
    display: inline-block;
    width: 40px;
    height: 2px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: black;
    border-radius: 2px;
}
#by #content section .special_jp {
    position: relative;
    display: block;
    margin: 1em auto 1em;
    text-align: center;
    font-size: 21px;
    font-weight: 500;
}
#by #content section .special_jp:before{
	content: '';
    position: absolute;
    bottom: -5px;
    display: inline-block;
    width: 40px;
    height: 2px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: black;
    border-radius: 2px;
}
#by #content section .sp_sub{
	text-align: center;
	font-family: "Times New Roman", Times, serif, "Noto Sans JP";
	font-size: 23px;
	font-weight: 500;
	margin: 1em auto 1em;
}
#by #content section .sp_sub2{
	text-align: center;
	font-size: 18px;
	margin: 1em auto 1em;
}
#by #content section:nth-of-type(5) div:nth-of-type(4) {
    /*margin-bottom: 18%;*/
}
#by #content section .text a {
	display: block;
    text-align: center;
    margin-top: 5%;
    text-decoration: none;
	
}
#by #content section .text a span{
	border-bottom: 1px solid #000;
    padding-bottom: 3px;
	font-weight: 600;
	
}
#by #content section .text p {
    margin-bottom: 2%;
}
@media only screen and (min-width: 769px) {
	#by #content section .midashi img {
		width: 32%;
	}
	#by #content section .midashi h3 {
		font-size: 14px;
	}
	#by #content section .text {
		width: 600px;
    
	}
	#by #content section .flex_gift {
		display: flex;
        margin: 0 auto 8%;
        justify-content: space-between;
        align-items: center;
        max-width: 650px;
	}
	#by #content section .sp_sub{
	text-align: center;
	font-family: "Times New Roman", Times, serif, "Noto Sans JP";
	font-size: 23px;
	font-weight: 500;
	margin: 1em auto 1em;
	}
	#by #content section:nth-of-type(5) div:nth-of-type(4) {
		margin-bottom: 12%;
	}
	#by #content section .text_dots {
    width: 640px;
    }
}

/**section 1
**********************************/
#by #content section .miles {
	width: 68%;
    margin: 10% auto 0;
    padding: 8% 4%;
    border: solid 1px #5f5f5f;
}
#by #content section .miles img {
	display: block;
    width: 86%;
    margin: 0 auto;
}
@media only screen and (min-width: 769px) {
	#by #content section .miles {
		width: 40%;
	}
}
/**BL表
#by #content section .cell {
	width: 100%;
	margin: 10% auto;
}**/
#by #content section .cell2 {
	width: 88%;
	margin: 10% auto;
}
@media only screen and (min-width: 769px) {
	/**BL表#by #content section .cell {
		width: 60%;
	}**/
	#by #content section .cell2 {
		width: 54%;
		margin: 5% auto;
	}
}

/**表
**********************************/
#by #content section #cell {
	width: 100%;
	margin: 8% 0;
	overflow-x: auto;
	position: relative;
	display: flex;
    justify-content: flex-start;
    align-items: flex-start;
	padding-bottom: 10%;
}
#by #content section #cell .kotei {
	width: 125px;
	flex-shrink: 0;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: repeat(4, 1fr);
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	
	position: sticky;
	top: 0;
	left: 0;
	z-index: 10;
	align-self: start;
	background: #fffdeb;
}
#by #content section #cell .kotei div {
	/*padding: 7.5% 5%;*/
	padding: 5%;
	border: solid .5px #111;
	/*height: 71px;*/
}
#by #content section #cell .kotei div img {
	    width: 92%;
    display: block;
    margin: 0 auto;
    padding: 5% 0 0 0;
}

#by #content section #cell .kotei div:nth-of-type(1) { grid-area: 1 / 1 / 2 / 2;}
#by #content section #cell .kotei div:nth-of-type(2) { grid-area: 2 / 1 / 3 / 2;}
#by #content section #cell .kotei div:nth-of-type(3) { grid-area: 3 / 1 / 4 / 2;}
#by #content section #cell .kotei div:nth-of-type(4) { grid-area: 4 / 1 / 5 / 2;}
#by #content section #cell .kotei div:nth-of-type(5) { grid-area: 5 / 1 / 6 / 2;}
		
#by #content section #cell .parent {
	min-width: 450px;
	background: #fff;
	flex-shrink: 0; 
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(4, 1fr);
	grid-column-gap: 0px;
	grid-row-gap: 0px;
}
#by #content section #cell .parent div {
	border: solid .5px #111;
	/*padding: 5%;*/
	width: 140px;
    /*height: 71px;*/
}
#by #content section #cell .parent div img {
	width: 98%;
	padding: .78% 0;
	display: block;
	margin: 0 auto;
}
#by #content section #cell .parent .div1 {
	grid-area: 1 / 1 / 2 / 2;
	background: #4483c3;

}
#by #content section #cell .parent .div2 { grid-area: 2 / 1 / 3 / 2; }
#by #content section #cell .parent .div3 { grid-area: 3 / 1 / 4 / 2; }
#by #content section #cell .parent .div4 { grid-area: 4 / 1 / 5 / 2; }
/*#by #content section #cell .parent .div5 { grid-area: 5 / 1 / 6 / 2; }*/
#by #content section #cell .parent .div6 {
	grid-area: 1 / 2 / 2 / 3;
	background: #f1ac42;
}
#by #content section #cell .parent .div7 { grid-area: 2 / 2 / 3 / 3; }
#by #content section #cell .parent .div8 { grid-area: 3 / 2 / 4 / 3; }
#by #content section #cell .parent .div9 { grid-area: 4 / 2 / 5 / 3; }
/*#by #content section #cell .parent .div10 { grid-area: 5 / 2 / 6 / 3; }*/
#by #content section #cell .parent .div11 {
	grid-area: 1 / 3 / 2 / 4;
	background: #c16222;
}
#by #content section #cell .parent .div12 { grid-area: 2 / 3 / 3 / 4; }
#by #content section #cell .parent .div13 { grid-area: 3 / 3 / 4 / 4; }
#by #content section #cell .parent .div14 { grid-area: 4 / 3 / 5 / 4; }
#by #content section #cell .parent .div15 { grid-area: 5 / 3 / 6 / 4; }
#by #content section #cell .parent .div16 { 
	grid-area: 1 / 4 / 2 / 5;
	background: #6b65a5;
}
#by #content section #cell .parent .div17 { grid-area: 2 / 4 / 3 / 5; }
#by #content section #cell .parent .div18 { grid-area: 3 / 4 / 4 / 5; }
#by #content section #cell .parent .div19 { grid-area: 4 / 4 / 5 / 5; }
#by #content section #cell .parent .div20 { grid-area: 5 / 4 / 6 / 5; }

@media only screen and (min-width: 769px) {
	#by #content section #cell {
		max-width: 700px;
		margin: 8% auto 0%;
	}
	#by #content section #cell .parent {
	}
}


#by #content section .gift-ttl {
	margin: 8% auto 4%;
}
#by #content section .gift-ttl img {
	display: block;
	width: 8%;
	margin: 0 auto 4%;
}
#by #content section .gift-ttl h4 {
	font-size: 17px;
    text-align: center;
    margin-top: 3%;
    line-height: 1;
    font-weight: bold;
}
@media only screen and (min-width: 769px) {
	#by #content section .gift-ttl {
		margin: 6% auto 0%;
	}
	#by #content section .gift-ttl img {
		width: 4%;
		margin: 0 auto 0;
	}
	#by #content section .gift-ttl h4 {
		font-size: 18px;
		margin: 2% 0 3%;
	}
	
}


#by #content section .banner {
	width: 50%;
	margin: 0 auto 8%;
}
#by #content section h4 {
	font-size: 16px;
    text-align: center;
    margin: 10% 0 6%;
}
#by #content section h4 span {
	background: linear-gradient(transparent 50%, #f1d288 50%);
}
@media only screen and (min-width: 769px) {
	#by #content section .banner {
		width: 32%;
		margin: 0 auto;
	}
}


#by #content section .flex {
	width: 92%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 6%;
}
#by #content section .flex:last-of-type {
	margin-bottom: 0;
}
#by #content section .flex div:nth-of-type(1) {
	width: 35%;	
}

#by #content section .flex div:nth-of-type(2) {
	width: 60%;
	line-height: 1.8;
}
#by #content section .flex div:nth-of-type(2) img {
	margin-bottom: 6%;
}
#by #content section .icon {
	display: block;
	width: 18%;
	margin: 8% auto 4%;
}
#by #content section .flow {
	overflow-x: auto;
	margin: 12% 0;
}
#by #content section .flow2 {
	overflow-x: auto;
	margin: 12% 0;
}

#by #content section .flow3 {
	overflow-x: auto;
	margin: 12% 0;
}
#by #content section .flow .flow-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 220%;
}
#by #content section .flow2 .flow-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 170%;
	
}
#by #content section .flow3 .flow-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 500%;
	
}
#by #content section .flow .flow-inner div {
	width: 22%;	
}
#by #content section .flow2 .flow-inner div {
	width: 30%;
}
#by #content section .flow3 .flow-inner div {
	width: 10%;
}
#by #content section .flow .flow-inner div p {
	text-align: center;
	margin: 12% 0 12%;
}
#by #content section .flow2 .flow-inner div p {
	text-align: center;
	margin: 12% 0 12%;
}
#by #content section .flow3 .flow-inner div p {
	text-align: center;
	margin: 12% 0 12%;
}
#by #content section .flow .flow-inner .yajirushi {
	width: 1.5%;
	margin: 22% auto;
}
#by #content section .flow2 .flow-inner .yajirushi {
	width: 2%;
    margin: 29% auto;
}

#by #content section .flow3 .flow-inner .yajirushi {
    width: .8%;
    margin: 8% auto;
}

@media only screen and (min-width: 769px) {
	#by #content section .icon {
		width: 14%;
		margin: 8% auto 4%;
	}
	#by #content section .flex {
		width: 70%;
	}
	#by #content section .flow {
		padding: 0 10%;
		margin: 6% 0;
	}
	#by #content section .flow .flow-inner {
		width: 160%;
	}
	#by #content section .flex div:nth-of-type(2) {
		width: 54%;
	}
	#by #content section .flex div:nth-of-type(2) img {
		width: 80%;
		display: block;
		margin-bottom: 4%;
	}
	#by #content section .flow2 .flow-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 105%;
	margin-left: 7%;
	}
	#by #content section .flow3 .flow-inner {
	width: 310%;
	margin-left: 7%;
	}
}

/**section 6
**********************************/
#by #content section:nth-of-type(6) {
	padding: 7% 0 0;
}
#by #content section:nth-of-type(6) .text {
	margin-bottom: 8%;
}
#by #content section:nth-of-type(6) .text h5 {
    font-size: 15px;
	font-weight: bold;
	margin-bottom: 4%;
}
#by #content section:nth-of-type(6) .text a {
    display: inline;
}
#by #content section:nth-of-type(6) .footer_area {
	margin-top: 18%;
	padding: 16% 0;
    border-top: solid 1px #5f5f5f;
}
#by #content section:nth-of-type(6) .footer_area img {
	display: block;
	margin: 0 auto;
	width: 55%;
}

@media only screen and (min-width: 769px) {
	#by #content section:nth-of-type(6) .footer_area {
		padding: 120px 0 110px;
	}
	#by #content section:nth-of-type(6) .footer_area img {
		width: 39%;
	}
}
#by #content .all {
	width: 80%;
    display: block;
    text-align: center;
    background: #111;
    color: #fff;
    font-size: 13px;
    margin: 0 auto;
    line-height: 3.5;
}

@media only screen and (min-width: 768px)  {
	
	#by #content .all {
		width: 400px;
	}
	
}

#by .pss{
	margin: 5% auto 0;
    text-align: center;
}

#by .pss a span{
	border-bottom: 1px solid #000;
    padding-bottom: 3px;
    font-weight: 600;
}

/**************************************************
                js
**************************************************/
#by .anim {
	opacity: 0;
	transition: 1.5s all 0s;
}
#by .anim.ac {
	opacity: 1;
	transform: translate(0);
}
/*************************************************
                view
*************************************************/
#by .spview {
	display: block;
}
#by .pcview {
	display: none;
}
@media only screen and (min-width: 768px)  {
     #by .spview {
		display: none;
	}	
	#by .pcview {
		display: block;
	}
}