/* COMMON */
.notosans{
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .08em;
}
.mincho{
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

/* SYSTEM */
body{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-weight: 500;
	color: #231815;
	background: #FFF;
	transition: all 1s ease;
	overflow-x: hidden;
    margin: 0;
}
a,a:hover{
	text-decoration: none;
}
a{
	opacity: 1;
	transition: all .3s ease;
}
a:hover{
	opacity: .8;
}
h1,h2,h3,h4,h5,h6,p,li,dt,dd,th,td,span,small{
	letter-spacing: .04em;
	line-height: 1.6;
}
p{
	font-size: 15px;
	margin: 0;
}
ul,li,dl,dt,dd{
	padding: 0;
	margin: 0;
}
img{
	max-width: 100%;
	vertical-align: top;
}
.wrap,
body.home .wrap{
	width: 100%;
	max-width: 1440px;
	padding: 0 20px;
	margin: 0 auto;
}
.ps_re{
	position: relative;
}
.ps_ab{
	position: absolute;
}
.center{
	text-align: center;
}
.right{
	text-align: right;
}
.vert{
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.flex{
	display: flex;
	flex-wrap: wrap;
}
.col_2{
	width: 48%;
	margin: 0 1% 2%;
}
.col_3{
	width: calc(100% / 3 - 2%);
	margin: 0 1% 2%;
}
.col_4{
	width: 23%;
	margin: 0 1% 2%;
}
.col_5{
	width: 18%;
	margin: 0 1% 2%;
}
.col_5-2{
	width: 38%;
	margin: 0 1% 2%;
}
.flex-sb{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.col_2-sb{
	width: 48%;
	margin: 0 0 2%;
}
.col_3-sb{
	width: 32%;
	margin: 0 0 2%;
}

.col_4-sb{
	width: 24%;
	margin: 0 0 2%;
}

.pc_only{
	display: block;
}
.sp_only{
	display: none;
}

main.flex {
    align-items: center;
    justify-content: center;
    height: 100svh;
}

.box {
    max-width: 500px;
}

.coming-soon .img {
    margin-bottom: 15px;
}

.coming-soon .title-content {
    margin-bottom: 20px;
}

.coming-soon .title-content .title {
    margin-bottom: 15px;
    text-align: center;
}
.coming-soon .title-content .sub-text {
    font-weight: bold;
    font-size: 18px;
    color: #e85377;
}
.coming-soon .read-more .link-btn {
    color: #000;
    background-color: #fff;
    border: 3px solid #000;
    padding: 15px 20px;
    font-weight: bold;
    display: inline-block;
    position: relative;
    transition: all .3s;
    letter-spacing: 2px;
}

.coming-soon .read-more .link-btn:hover {
    transition: all .3s;
    color: #fff;
}
.coming-soon .read-more .link-btn:hover::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: #e85377;
    animation: bg_slide 0.4s ease-in;
    transition: all .3s;
}
.center {
    text-align: center;
}

@keyframes bg_slide {
    0% {
        transform-origin: left top;
        transform: scaleX(0.0);
    }
    100% {
        transform-origin: left top;
        transform: scaleX(1.0);
    }
}