@charset "utf-8";
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
@import url('https://fonts.googleapis.com/css2?family=Jersey+15+Charted&family=M+PLUS+1:wght@100..900&family=Micro+5+Charted&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Yomogi&family=Zen+Antique&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap');
:root {
	--base-color: #fff;
	--main-color: #666;
	--accent-color: ;
	--sub-bg-color: #efeff4;

	--text-color: #666;
	--text-color-light: #fff;

	--border-color: #ced4da;
	--border-color: #ccc;
	--disabled-color: #999;

	--main-bg-color: #e9e3d5;
	--main-h2-color: #2c2c2c;

	--font-weight: 700;
	/* input */
	--input-bg-color: #fafafa;
	--input-height: 40px;
	--input-border-radius: 4px;
	--input-disabled-bg-color: #f5f5f5;

	--overlay-bg-color: rgba(127, 127, 127, 0.5);
	--error-color: #f00;
	--error-bg-color: #fee;
	/* button */
	--button-bg-color: #d12a2f;
	--button-color: #fff;
	--button-disabled-bg-color: #ccc;
	--button-border-radius: 4px;
	--button-padding: 12px 16px;
	--button-border-width: 2px;

	--search-button-width: 96px;
	/* header */
	--header-color: var(--text-color-light);
	--header-bg-color: var(--main-color);
	--header-width: 100%;
	--header-height: 40px;
	/* side */
	--side-color: var(--text-color-light);
	--side-bg-color: #474444;
	--side-width: 220px;
	/* footer */
	--footer-color: var(--text-color);
	--footer-bg-color: var(--main-color);
	--footer-height: 64px;
	/* tab */
	--tab-button-bg-color: #ddd;
	--tab-button-color: #565656;

	--link-color: #ffb23a;
	--link-active-color: var(--button-active-bg-color);
	--menu-color: #fff;
	--menu-active-color: var(--button-bg-color);

	/* fontsize */
	--font-size: 16px;
	--font-size-h1: 18px;
	--font-size-h2: 16px;
	--font-size-h3: 16px;
	--font-size-h4: 16px;
	--font-size-h5: 16px;
	--font-size-center-title: 32px;

	/* line-height */
	--line-height: 1.2;

	/* box-shadow */
	--box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .2);
	--box-shadow-top: 0 -1px 1px 0 rgba(0, 0, 0, .2);
	--box-shadow-type2: 5px 5px 8px rgba(128, 128, 128, .5);
	/* loading */
	--loading-color: #fff;

	/* color */

}
/* font */
/* 上部ビジュアル欲しい時用 */
.m-v{
	width: 100%;
	height: 100px;
	/* background: #000; */
	position: relative;
	z-index: -2;
	display: flex;
	align-items: center;
}
.m-v.rokkon3{
	z-index: -1;
}
.c-title{
    color: #fff;
    font-size: 34px;
    padding-left: 40px;
    z-index: 0;
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-style: normal;
    /* opacity: .6; */
    width: 100%;
	position: absolute;
	top: 60px;
	transition: .4S;
	width: auto;
}
.c-title-fixed .c-title{
	position: fixed;
    z-index: 1000;
    font-size: 20px;
    padding: 5px;
	z-index: 1000;
	top: 0;
	font-family: 'Noto Sans JP', sans-serif;
}
.m-v > div{
	width: 100%;
	height: 100px;
	margin: 0 auto;
	overflow: hidden;
	filter: blur(3px);
	position: absolute;
	top: 0;
	left: 0;
}
.m-v.papa1 > div{
	background: url(../img/bg_papa1.png);
    background-size: cover;
    background-position: top;
	background-repeat: no-repeat;
}
.m-v.papa2 > div{
	background: url(../img/bg.png);
    background-size: cover;
    background-position: top;
	background-repeat: no-repeat;
}
.m-v.mama1 > div{
	background: url(../img/bg_mama1.png);
    background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
	filter: none;
}
.m-v.mama2 > div{
	background: url(../img/bg_mama2.png);
    background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
}
.m-v.megane1 > div{
	background: url(../img/bg_megane1.png);
    background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
}
.m-v.megane2 > div{
	background: url(../img/bg_megane2.png);
    background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
	filter: blur(1px);
}
.m-v.rokkon1 > div{
	background: url(../img/bg_rokkon1.png);
    background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
}
.m-v.rokkon1 > .c-title{
    color: #000;
}
.m-v.rokkon2 > div{
	background: url(../img/bg_rokkon2.png);
    background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
}
.m-v.rokkon3 > div{
	background: url(../img/bg_rokkon3-1.png);
    background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
}
.m-v.oneichan > div{
	background: url(../img/bg_oneichan.png);
    background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
	filter: saturate(160%);
}
a {
	color: var(--link-color);
	text-decoration: none;
}
a:hover {
	opacity: .6;
}
html {
    scroll-behavior: smooth;
	scroll-padding-top: calc(var(--header-height));
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	color: var(--text-color);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--font-size);
	position: relative;
}
video.bg-mv {
    z-index: -1;
    opacity: .5;
    position: fixed;
    right: 0;
    bottom: 0;
	object-fit: cover;
    width: 100%;
	height: 100%;
}
video.bg-mv.papa1,
video.bg-mv.megane1,
video.bg-mv.rokkon3,
video.bg-mv.oneichan{
	opacity: .1;
}
video.bg-mv.mama1,
video.bg-mv.mama2{
	opacity: .04;
}
video.bg-mv.rokkon{
	opacity: .2;
}
video.bg-mv.megane2,
video.bg-mv.rokkon3{
	opacity: .5;
}
.bg-img{
	background: #000;
    width: 100%;
    height: 100vh;
    z-index: -2;
    top: 0;
    left: 0;
    position: fixed;
	overflow: hidden;
}
.bg-img.papa1{
	background: url(../img/bg_papa1.png);
    background-size: cover;
    background-position: center;
}
.bg-img.papa2{
	background: url(../img/bg.png);
    background-size: cover;
    background-position: center;
}
.bg-img.mama1{
	background: url(../img/bg_mama1.png);
    background-size: cover;
    background-position: center;
}
.bg-img.mama2{
	background: url(../img/bg_mama2.png);
    background-size: cover;
    background-position: center;
}
.bg-img.wp{
	background: url(../img/weapon/tengoku1.png);
    background-size: cover;
    background-position: center;
}
.bg-img.megane1{
	background: url(../img/bg_megane1.png);
    background-size: cover;
    background-position: center;
}
.bg-img.megane2{
	background: url(../img/bg_megane2.png);
    background-size: cover;
    background-position: center;
	filter: blur(1px);
}
.bg-img.rokkon1{
	background: url(../img/bg_rokkon1.png);
    background-size: cover;
    background-position: center;
}
.bg-img.rokkon2{
	background: url(../img/bg_rokkon2.png);
    background-size: cover;
    background-position: center;
}
.bg-img.rokkon3{
	background: url(../img/bg_rokkon3.png);
    background-size: cover;
    background-position: center;
}
.bg-img.saisei2{
	background: url(../img/bg_saisei2.png);
    background-size: cover;
    background-position: center;
}
.bg-img.oneichan{
	background: url(../img/bg_oneichan.png);
    background-size: cover;
    background-position: center;
	filter: saturate(160%);
}
.bg-img::after{
	content: "";
	background: inherit;
	filter: blur(4px);
	position: absolute;
	width: 100%;
	height: 100vh;
	top: -5px;
	left: -5px;
	right: -5px;
	bottom: -5px;
	z-index: -1;
	opacity: .5;
    background-image: linear-gradient(0deg, rgb(253 38 0 / 46%), rgba(255, 255, 255, 0)), linear-gradient(185deg, rgb(69 54 255 / 0%), rgba(255, 255, 255, 0)), linear-gradient(340deg, rgb(0 153 26 / 0%), rgba(255, 255, 255, 0));
}
.bg-img.papa1::after{
	background-image: linear-gradient(0deg, rgb(0 0 0 / 50%), rgba(255, 255, 255, 0)), linear-gradient(185deg, rgb(69 54 255 / 0%), rgba(255, 255, 255, 0)), linear-gradient(340deg, rgb(0 153 26 / 0%), rgba(255, 255, 255, 0));
}
.bg-img.mama1::after{
	background-image: linear-gradient(0deg, rgb(173 39 247 / 46%), rgba(255, 255, 255, 0)), linear-gradient(185deg, rgb(69 54 255 / 0%), rgba(255, 255, 255, 0)), linear-gradient(340deg, rgb(0 153 26 / 0%), rgba(255, 255, 255, 0));
}
.bg-img.mama2::after{
	background-image: linear-gradient(0deg, rgb(244 233 162 / 46%), rgba(255, 255, 255, 0)), linear-gradient(185deg, rgb(69 54 255 / 0%), rgba(255, 255, 255, 0)), linear-gradient(340deg, rgb(0 153 26 / 0%), rgba(255, 255, 255, 0));
}
.bg-img.megane1::after{
	background-image: linear-gradient(0deg, rgb(46 1 45 / 46%), rgba(255, 255, 255, 0)), linear-gradient(185deg, rgb(69 54 255 / 0%), rgba(255, 255, 255, 0)), linear-gradient(340deg, rgb(0 153 26 / 0%), rgba(255, 255, 255, 0));
}
.bg-img.megane2::after{
	background-image: linear-gradient(0deg, rgb(46 1 45 / 46%), rgba(255, 255, 255, 0)), linear-gradient(185deg, rgb(69 54 255 / 0%), rgba(255, 255, 255, 0)), linear-gradient(340deg, rgb(0 153 26 / 0%), rgba(255, 255, 255, 0));
}
.bg-img.rokkon1::after,
.bg-img.rokkon2::after{
	background-image: linear-gradient(0deg, rgb(65 112 214 / 46%), rgba(255, 255, 255, 0)), linear-gradient(185deg, rgb(69 54 255 / 0%), rgba(255, 255, 255, 0)), linear-gradient(340deg, rgb(0 153 26 / 0%), rgba(255, 255, 255, 0));
}
.bg-img.rokkon3::after{
	background-image: linear-gradient(0deg, rgb(27 0 21), rgba(255, 255, 255, 0)), linear-gradient(185deg, rgb(69 54 255 / 0%), rgba(255, 255, 255, 0)), linear-gradient(340deg, rgb(0 153 26 / 0%), rgba(255, 255, 255, 0));
}
.bg-img.oneichan::after{
	background-image: linear-gradient(0deg, rgb(65 112 214 / 46%), rgba(255, 255, 255, 0)), linear-gradient(185deg, rgb(69 54 255 / 0%), rgba(255, 255, 255, 0)), linear-gradient(340deg, rgb(0 153 26 / 0%), rgba(255, 255, 255, 0));
}
footer{
	height: 80vh;
    width: 100%;
    display: block;
    overflow: hidden;
    position: relative;
}
.height_h + footer{
	height: 100vh;
}
footer p.coment {
    font-size: 40px;
    color: #fff;
	background: none;
    font-family: "Jersey 15 Charted", sans-serif;
    overflow: hidden;
    position: absolute;
	position: fixed;
    top: 12%;
	top: 500px;
    right: 0px;
    border-radius: 5px;
	transition: 1S;
	opacity: 0;
}
footer.is-active p.coment{
	opacity: .5;
    right: 10%;
    z-index: -1;
    bottom: 60%;
    top: auto;
}
.footer-link-area{
    position: absolute;
    bottom: 40px;
    padding: 15px 20px 20px;
    width: 98%;
    border-top: solid 1px #818181;
    left: 1%;
	display: flex;
	color: #ababab;
}
.footer-link-area section {
    margin-right: 40px;
    border-radius: 5px;
}
.footer-link-title{
	font-weight: 500;
    font-size: 16px;
    margin: 0 0 10px;
    width: 100%;
    color: #fff;
	padding: 5px 10px;
}
.footer-link-area .link-list {
    display: flex;
    align-items: center;
	font-size: 12px;
}
.footer-link-area .curren{
	position: relative;
}
.footer-link-area .current::before{
	content: "▶";
	position: absolute;
	color: #fff;
}
.footer-link-area .current span{
    color: #fff;
}
.footer-link-area a{
    color: #fff;
}
.footer-link-area li span {
    margin-left: 1.3rem;
}
.footer-link-area li{
	margin: 0 6px 10px 0;
}
.footer-text{
	padding: 10px 20px;
    font-size: 10px;
    color: rgb(255, 255, 255 , .5);
    position: absolute;
    bottom: 0;
    width: 100%;
	background: rgb(0, 0, 0,.3);
	display: flex;
	justify-content: end;
	align-items: center;
}
.footer-text p > span{
	margin-left: 10px;
}
a.x-link {
    border-radius: 3px;
    width: 30px;
    display: inline-block;
    padding: 7px;
    background: #000;
    vertical-align: middle;
    margin-right: 10px;
    cursor: pointer;
}
header {
	width: var(--header-width);
    z-index: 100;
    position: fixed;
    box-shadow: var(--box-shadow);
    background: var(--side-bg-color);
    color: var(--text-color-light);
    width: 100%;
    right: 0;
    height: var(--header-height);
	display: flex;
	align-items: center;
	border-bottom: solid 1px var(--main-h2-color);
}
.timeline-btn,
.timeline-close-btn{
	display: none;
}
header h1{
    font-size: 16px;
    font-weight: normal;
}
.hp-title{
	width: 220px;
	display: flex;
    height: 40px;
    align-items: center;
    padding-left: 20px;
}
.hp-title a{
	color: #fff;
}
header .page-title {
    display: flex;
    align-items: center;
}
header .page-title a,
header .page-title span{
	color: #fff;
	display: flex;
	align-items: center;
	height: var(--header-height);
	padding:  0 0 0 20px;
	background: #1f1f1f;
	font-size: 20px;
	/* border-right: solid 1px #666; */
}
header .page-title .current{
	/* background: none; */
	padding: 0 20px 0 5px;
}
.tab{
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
	position: absolute;
    right: 0;
}
.tab li a,
.tab li > span{
	font-size: 18px;
    width: 80px;
    background: none;
    height: var(--header-height);
    display: flex;
    align-items: center;
    justify-content: center;
	color: #fff;
}
.tab li a{
	border: solid 1px var(--main-h2-color);
    border-top: none;
	border-bottom: none;
    color: #9c9c9c;
	/* display: none; */
}
.tab li > span{
	font-weight: 500;
	position: relative;
	background: #000;
}
.tab li a.top{
	background: none;
	color: #fff;
	border: none;
	width: 60px;
}
.tab li a.top span {
    font-size: 26px;
}
.wrap{
	display: flex;
	width: 100%;
}
.side{
	width: 220px;
	height: calc(100vh - 40px);
    background: var(--side-bg-color);
    font-size: 12px;
	position: sticky;
	top: 40px;
	color: var(--text-color-light);
	z-index: 1000;
}
.side h3{
	margin-bottom: 10px;
	padding: 8px 10px;
	position: absolute;
	background: var(--side-bg-color);
	z-index: 10;
	display: flex;
	align-items: center;
	width: 100%;
	cursor: pointer;
	box-shadow: var(--box-shadow);
}
.side h3 .side-title{
	margin-left: 5px;
}
.timeline{
	padding: 60px 20px 0;
	position: sticky;
	top: 0;
	height: 100%;
overflow: scroll;
/*IE(Internet Explorer)・Microsoft Edgeへの対応*/
-ms-overflow-style: none;
/*Firefoxへの対応*/
scrollbar-width: none;
}

/*Google Chrome、Safariへの対応*/
.timelin::-webkit-scrollbar{
display: none;
}
.timeline li{
	padding-left: 10px;
	border-left: 2px solid var(--main-h2-color);
	position: relative;
	height: 40px;
}
.timeline li:last-of-type{
	border-color: var(--side-bg-color);
}
.timeline li span,
.timeline li a{
	position: absolute;
	top: -.3rem;
	
}
.timeline li::before {
	content: "";
    position: absolute;
    left: -6px;
    width: 10px;
    height: 10px;
    background: #737373;
    top: 0;
    border-radius: 3px;
}
.timeline li.point{
	padding-left: 25px;
}
.timeline li.point::after {
    content: "※";
    color: white;
    position: absolute;
    left: 10px;
    top: -5px;
}
.timeline li.last{
	border-left: none;
}
.timeline li.side-kome{
	font-size: 10px;
	width: calc(100% + 20px);
    font-weight: normal;
    color: #b2b2b2;
    background: rgb(71, 68, 68, .5);
	padding-left: 0;
	margin-left: -10px;
}
.timeline li.side-kome::before{
	content: none;
}
main {
	min-height: calc(100vh - var(--header-height) + var(--footer-height));
    width: calc(100% - 220px);
	position: relative;
	padding-top: 40px;
}
main > h2{
	font-size: 16px;
    background: var(--main-h2-color);
    color: #d4bc67;
    padding: 6px 20px;
    font-weight: normal;
    box-shadow: 0px -1px 2px #000;
    display: flex;
    align-items: center;
}
main > h2.bg-none{
	background: var(--main-bg-color);
    color: var(--main-h2-color);
    font-weight: 700;
    box-shadow: none;
}

h2.close-sec {
    background: var(--main-h2-color);
    /* color: #fff; */
}
.close-sec .close-icon,
.close-sec .open-icon{
	position: absolute;
	right: 20px;
	cursor: pointer;
}
h2.close-sec .open-icon{
	display: none;
}
h2.close-sec.close + .close-area,
h2.close-sec.close .close-icon{
	display: none;
}
h2.close-sec.close .open-icon{
	display: block;
}
.macro-area{
	padding: 20px 40px;
	/* background: var(--main-bg-color); */
	display: flex;
	align-items: center;
	background: rgb(0, 0, 0, .5);
	background: var(--main-bg-color);
}
.macro-area.none{
	background: none;
}
.macro-area .macro{
	width: calc(50% - 20px);
	width: 440px;
	position: relative;
}
.macro-area .macro:hover {
    opacity: .7;
}
.macro-area .macro:not(:last-of-type){
	margin-right: 20px;
}
.macro h2 {
    position: absolute;
    top: 0;
    font-size: 14px;
    padding: 2px 10px;
    /* background: var(--main-bg-color); */
    width: 100%;
    color: var(--main-h2-color);
    color: var(--main-bg-color);
    border: solid 1px var(--side-bg-color);
    border-bottom: dotted 1px #dddddd38;
    font-weight: normal;
}
.macro-btn{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 25rem;
	background: none;
	border: none;
}
.macro-btn::after{
	content: "コピー";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 74px;
    background: var(--main-h2-color);
    color: #fff;
	font-size: 14px;
    padding: 4px 10px;
    font-weight: 700;
}
.macro-area .macro textarea{
	width: 100%;
    height: 25rem;
    font-size: 14px;
	/* background: rgb(0, 0, 0, .3); */
	background: var(--side-bg-color);
    padding: 2rem 1rem 0;
    color: #fff;
	border-color: var(--side-bg-color);
}
.text{
	padding: 20px 20px 40px;
	background: var(--main-bg-color);
}
.text dl:not(:first-of-type){
	margin-top: 20px;
}
.text dl dt{
	font-size: 16px;
	font-weight: 700;
	color: var(--main-h2-color);
}
.text dl dd{
	font-size: 14px;
	margin-top: 10px;
}
.text dl dd.point{
	display: flex;
	align-items: center;
	font-weight: 700;
	color: #c10000;
}
.text dl dd.point span{
	
	margin-right: 5px;
}
main > h2 img {
    width: 30px;
    margin-right: 6px;
}
main > h2 span:not(.icon) {
    margin-bottom: .2rem;
}
main > h2 span.icon {
    margin-right: 5px;
}
.img-list{
	display: flex;
	flex-wrap: wrap;
    align-items: center;
    padding: 20px 20px 40px;
    width: 100%;
	background: var(--main-bg-color);
	position: relative;
}
.img-list li{
	width: calc(50% - 10px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-right: 20px;
	box-shadow: var(--box-shadow-type2);
}
.img-list li.tab {
	position: absolute;
    top: 0;
    left: 0;
    justify-content: start;
    z-index: 10;
    background: #222;
    color: #fff;
	box-shadow: none;
}
.img-list li.tab span {
    padding: 5px 20px;
    width: 50%;
    cursor: pointer;
    background: none;
    background: #c6c6c6;
    color: #858585;
    box-shadow: inset 0px -1px 7px rgb(0 0 0 / 15%);
	transition: .5s;
}
.tab1.img-list li.tab span.tab1,
.tab2.img-list li.tab span.tab2 {
	cursor: auto;
    background: #e9e3d5;
    color: #2c2c2c;
    font-weight: 700;
    box-shadow: none;
}
.tab1.img-list li.tab span.tab2:hover,
.tab2.img-list li.tab span.tab1:hover{
	opacity: .8;
}
.img-list li.tab span a{
	margin: 0 2px;
	color: #fff;
}
.tab1.img-list li.tab span a,
.tab2.img-list li.tab span a{
	color: #4594d8;
}
.tab-img {
	display: none;
}
.tab1.img-list .tab1-img,
.tab2.img-list .tab2-img{
	display: flex;
}
.img-list li.tab + li{
    margin-top: 30px;
}
.img-list li:last-child{
	margin-right: 0;
}
.img-list.w-full li{
	width: 100%;
	margin-right: 0;
	max-width: 100%;
}
.img-list.w-3col .img-area{
	width: 75%;
}
.img-area p{
	display: flex;
    width: 100%;
    background: #474444;
    padding: 3px 10px;
    font-size: 12px;
    color: #fdff39;
    border-top: solid 1px #1f1f1f;
}
.img-area{
	position: relative;
}
.img-area ul{
	text-align: left;
	position: absolute;
	left: 20px;
	background: #fff;
	padding: 20px;
}
.img-area ul li{
	box-shadow: none;
	margin-bottom: 10px;
}
.img-list.w-full .img-area:not(:last-child){
	margin-bottom: 20px;
}
.img-list .img-area.w-2col{
	width: 50%;
}
.img-list .img-area.w-3col{
	width: 75%;
}
/* モーダル */
body.modal-active{
	position: fixed;
}
.modal{
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background: rgb(0, 0, 0, .5);
	z-index: 9999;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow-y: scroll;
	display: none;
	opacity: 0;
	animation: fadeOut 0.3s ease-in 0s forwards;
}
.modal .form-area{
	/* width: 300px; */
	margin: 0 auto;
}
.modal.modal-active{
	display: flex!important;
	opacity: 1;
	animation: fadeIn 0.3s ease-in 0s forwards;
}
.modal-card{
	position: relative;
    width: 90%;
	max-height: 90vh;
    background: #fff;
    z-index: 1001;
    transition: all 2s;
	border-radius: 16px;
}
.modal-card > .modal-close{
	position: absolute;
	right: 20px;
	top: 20px;
	cursor: pointer;
}
.modal-s .modal-card{
	width: 768px;
}
.modal-title{
	font-size: 20px;
	font-weight: normal;
}
.close-btn{
	font-size: 24px;
    font-weight: 900;
    width: 24px;
    height: 24px;
    display: flex;
    position: absolute;
    right: 15px;
    top: 15px;
    justify-content: center;
    align-items: center;
	cursor: pointer;
}
.modal-body{
    padding: 64px;
	text-align: center;
	overflow-y: scroll;
    max-height: 90vh;
}
.modal-body::-webkit-scrollbar {
    width: 0;
    height: 0;
}
.modal-btn-area{
	margin: 24px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.modal-btn-area button{
	margin: 0 16px;
	width: 160px;
}
.modal-center-text{
	text-align: center;
	margin-bottom: 40px;
	font-weight: var(--font-weight);
}
.modal .radio-group {
    margin: 0 0 20px 0;
}
.modal .radio-group:last-child{
	margin-bottom: 40px;
}
/* モーダルアニメーション */
@keyframes fadeIn {
	0% {
	  display: none;
	  opacity: 0;
	}
  
	1% {
	  display: flex;
	  opacity: 0;
	}
  
	100% {
	  display: flex;
	  opacity: 1;
	}
  }
  @keyframes fadeOut {
	0% {
	  display: flex;
	  opacity: 1;
	}
  
	1% {
	  display: flex;
	  opacity: 1;
	}
  
	100% {
	  display: none;
	  opacity: 0;
	}
  }

/* SP */
@media screen and (max-width: 768px) {
	.m-v {
        height: 80px;
    }
	.c-title {
		padding: 0 10px;
		font-size: 14px;
		opacity: 1;
		top: 70px;
		font-family: 'Noto Sans JP', sans-serif;
		transition: none;
		font-size: 16px;
		display: flex;
		justify-content: center;
		width: 100%;
	}
	.c-title-fixed .c-title{
		justify-content: start;
		top: 5px;
		left: 8px;
		animation: fadeIn 1s ease-in 0s forwards;
		width: auto;
        font-size: 14px;
	}
	.hp-title{
		width: auto;
		padding: 0 0 0 10px;
		transition: .4S;
		position: absolute;
		font-size: 14px;
		opacity: 1;
	}
	.c-title-fixed .hp-title{
		opacity: 0;
	}
	.c-title-fixed .sp-hidden{
		display: none;
	}
	.wrap{
		overflow: hidden;
	}
	video.bg-mv{
		height: 100vh;
		overflow: hidden;
	}
	.tab{
		right: 40px;
	}
	.tab li a, .tab li > span{
		padding: 15px;
		font-size: 12px;
		width: auto;
	}
	.tab li a.top {
		position: fixed;
		right: 0;
		top: 85%;
		background: rgb(0, 0, 0,.4);
		transition: .5S;
	}
	.sp_op{
		opacity: 0!important;
		right: -100px!important;
	}
	header{
		width: 100%;
	}
	header .page-title a,
	header .page-title span{
		background: none;
		font-size: 12px;
		padding-left: 5px;
		border: none;
	}
	header .timeline-btn,
	header .timeline-close-btn{
		height: 40px;
        width: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
		position: absolute;
		right: 0;
	}
	header .timeline-close-btn{
		display: none;
	}
	header .timeline-close-btn.active{
		display: flex;
	}
	header h1 {
		font-size: 12px;
	}

	.side-active .side-close-btn{
		display: flex;
	}
	.side-active .side-open-btn{
		display: none;
	}
	.side-active .overlay{
		opacity: 1;
		z-index: 10;
	}
	.side{
		position: fixed;
		left: -220px;
		z-index: 1001;
		transition: .5S;
	}
	.side-active .side{
		width: 60%;
		position: fixed;
		left: 0;
	}
	.timeline{
		padding-bottom: 80px;
	}
	.overlay{
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		background: rgb(0, 0, 0, .5);
		z-index: 0;
		opacity: 0;
	}
	.overlay.active{
		opacity: 1;
		z-index: 1000;
	}
	main{
		width: 100%;
	}
	.macro-area{
		display: block;
		padding: 20px 10px;
	}
	.macro-area .macro {
        width: auto;
		margin: 0;
    }
	.macro-area .macro:not(:last-child) {
        margin-bottom: 20px;
		margin-right: 0;
    }
	.macro-area .macro textarea{
		font-size: 12px;
	}
	.img-list{
		padding: 20px 20px 10px;
	}
	.img-list li{
		width: 100%;
		margin-bottom: 20px;
		margin-right: 0;
	}
	.img-list.w-3col .img-area{
		width: 100%;
	}
	.img-list .img-area.w-2col{
		width: 100%;
	}
	.img-list .img-area.w-3col{
		width: 100%;
	}
	footer p.coment{
		font-size: 20px;
		top: 40px;
		right: 20px;
		left: auto;
	}
	.footer-link-area{
		display: block;
	}
	.footer-link-title{
		font-size: 14px;
	}
	.footer-link-area section{
		margin-bottom: 20px;
	}
	.macro-btn{
		display: none;
	}

	.img-area p{
		font-size: 10px;

	}


}