@charset "utf-8";
/*==========================================================================

   base width

==========================================================================*/
 body {
	 min-width: 960px; /*幅狭時のスクロールで見切り調整*/
 }
 .container {
	 position: relative;
	 width: 960px;
	 margin-right: auto;
	 margin-left: auto;
 }
 
/*==========================================================================

   base frame

==========================================================================*/
#header {
    position: fixed;
    top: 0;
    right: 0;
    width: 45px;
    height: 100%;
    background: rgba(4, 255, 0, .9);
	z-index: 10000;
}
#main {
	margin: 0 auto;
}
#footer {
	position: relative;
	min-height: 250px;
	margin-top: 125px;
    padding: 30px 0 65px;
	/*background: #000;*/
}
#footer::after {
    position: absolute;
    top: -50%;
    right: 0;
    content: "";
    display: block;
    width: 459px;
    height: 450px;
    background: url(../img/img_footer_icon_pc01.png) no-repeat center;
    mix-blend-mode: lighten;
}

/*==========================================================================

   layout type

==========================================================================*/
.l-iblock {
    font-size: 0;
    text-align: center;
}
.l-iblock__item {
    display: inline-block;
}
.l-flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.l-flex-item.is-liquid {
	flex: 1;
}

/* タイルの最下段を左詰めにする(疑似要素で見えないブロックを作成) */
.l-flex.is-align-left .l-flex-item:after{
	content:"";
	display:block;
	/*cacl: (100%/3); 幅はカラム数に応じて個別クラスで設定 */
	height:0;
}


.section01 {
    position: relative;
}
.section01 + .section01 {
    margin-top: 140px;
}


.section-header {
	margin-bottom: 65px;
    font-size: 90px;
    text-align: center;
}

.section-footer {
    margin-top: 60px;
}







/*==========================================================================

   header

==========================================================================*/
.js-gnav-toggle {
    position: relative;
    width: 20px;
    height: 20px;
    margin: 20px auto;
    transition: .3s;
}
body.is-gnav .js-gnav-toggle {
    transform: rotate(-45deg);
}
.js-gnav-toggle:hover {
	cursor: pointer;
}
.js-gnav-toggle::before,
.js-gnav-toggle::after {
    position: absolute;
    top: 50%;
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    margin-top: -1px;
    background: #000;
    transition: .3s;
}
.js-gnav-toggle:before {
}
.js-gnav-toggle:after {
    top: 50%;
    left: 0;
    transform: rotate(90deg);
}


.gnav {
    position: fixed;
    top: 0;
    right: 45px;
    bottom: 0;
    left: 0;
    background: rgba(4, 255, 0, .9);
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}
body.is-gnav .gnav {
	opacity: 1;
	visibility: visible;
}
.gnav__list {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 100px;
	font-size: 32px;
    background: #000;
}
.gnav__item a {
	display: block;
	padding: 5px 0;
    transition: .3s;
}
.gnav__item a:hover,
.gnav__item a:active {
    color: #fff;
}


/*==========================================================================

   body

==========================================================================*/


/*==========================================================================

   footer

==========================================================================*/
.fixed-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px;
    background: #000;
    z-index: 100;
}
.fixed-menu__list {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 20px;
}
.fixed-menu__item {
    padding: 10px;
	font-size: 30px;
}
.fixed-menu__item.item--coupon {
    color: #e72588;
}.fixed-menu__item.item--coupon:hover {
	cursor: pointer;
}
.fixed-menu__item a {
    color: #fff;
}
.fixed-menu__item .footer-number__value a {
    color: #03fe00;
}

.footer-contact {
    padding: 40px 0 0;
}
.footer-number {
    letter-spacing: .05em;
}
.footer-number__label {
    margin-right: .25em;
    font-size: 22px;
    color: #646464;
}
.footer-number__label__icon.fa-solid {
    display: none;
}

.footer-number__value {
    font-size: 30px;
}

.footer-social {
    margin-top: 20px;
}
.footer-social__list {
    display: flex;
    gap: 10px;
}
.footer-social__item {
    font-size: 32px;
}
.footer-social__item a {
    color: #fff;
}
