﻿@charset "utf-8";

/* ------------------------------------------------------------------------
    FONT
------------------------------------------------------------------------  */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&display=swap');
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 400;
   src: local('NotoSansJP-Regular.otf'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
 }
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 500;
   src: local('NotoSansJP-Regular.otf'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
 }
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 700;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
 }
/* ------------------------------------------------------------------------
    BASE
------------------------------------------------------------------------  */
html{
  text-size-adjust: 100%;
}
body{
	margin:0;
	padding:0;
	color:#000;
	font-weight:400;
	line-height:1.8em;
	font-family: 'Noto Sans JP', sans-serif,'Noto Sans SC';
	position: relative;
}
body {
	min-height: 100%;
	overflow-wrap:break-word;
}
html {
  font-size: 62.5%;
}
body {font-size: 1.4em;}
@media screen and (min-width:1024px){
	body {font-size: 1.6em;}
}
html,body{
}
/* overlay */
body:after {
	width: 100%;
	height: 100%;
	visibility: hidden;
	position: fixed;
	background-color: rgba(0,0,0,0.4);
	content: '';
	left: 0;
	top: 0;
	z-index: 9;
	opacity: 0;
	transition: all .6s 0s ease;
}
body.overlay:after {
	visibility: inherit;
	opacity: 1;
}

a{
	display:inline-block;
	text-decoration:	none;
	color:#323232;
	cursor: pointer;
	transition: all .6s;
}
a:focus, *:focus { outline:none; }
a:active{
	text-decoration:	none;
}
a.orange {
	text-decoration: underline;
	color: #ffa500;
	text-underline-offset: 5px;
}
@media screen and (min-width:1024px){
	a.hov{
		opacity: 1;
	}
	a.hov:hover{
		opacity:.6;
	}
}


li {
	list-style:none;
}
li a {
	text-decoration:none;
}
address, div, form, fieldset, legend, h1, h2, h3, h4, h5, h6, img, ol, ul, li, dl, dt, dd, p, img, strong, em, span, blockquote, q {
	margin: 			0;
	padding:			0;
	border:				none;
	font-size: 			1em;
	font-style: 		normal;
	font-weight: 		400;
	vertical-align:		top;
}

table, tr, th, td{
	font-size: 			1em;
	margin:				0;
	padding:			0;
	border:				0 none;
	border-spacing:		0;
	border-collapse:	collapse;
}
object, embed{
	vertical-align: top;
}
p{
}
* {
	overflow-wrap: break-word;
	word-wrap: break-word;
}
sup,
sub {
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    _vertical-align: bottom;
    position: relative;
	font-size:.8em;
	padding-left:.5em;
     
}
span {vertical-align: baseline;}
sup {
    bottom: .75em;
	padding-left:0;
}
 
sub {
    top: .1ex;
	padding-left:.3em;
}
img {
	width:100%;
	max-width:100%;
	height:auto;
	vertical-align: bottom;
	
	pointer-events: none;
}
img[src$=".svg"] {
	width: 100%;
	height:100%;
	max-width:100%;
	max-height:100%;
}

/* ------------------------------------------------------------------------
    text
------------------------------------------------------------------------  */
.fw5 {
	font-weight: 500;
}
.fwb {
	font-weight: 700;
}

/* ------------------------------------------------------------------------
    Format
------------------------------------------------------------------------  */
/* Title */
/* Type A */
.Title-A {
}
.Title-A h2{
	font-size: 1.28em;
	line-height: 1.5em;
	font-weight: 500;
	margin-bottom: 1em;
}
.Title-A  p{
}
.Title-A p:after {
}
/* Type B */
.Title-B {}
.Title-B h2{
	font-size: 1.28em;
	line-height: 1.5em;
	font-weight: 500;
}
@media screen and (min-width:1024px){
	.Title-A h2,
	.Title-B h2{
		font-size: 1.5em;
	}
}

/* subtitle */
.Subtitle-A {
	position: relative;
	font-size: 1.25em;
	font-weight: 500;
	margin-bottom: 1em;
	padding-bottom: 1em;
}
.Subtitle-A:before{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 120px;
	height: 1px;
	content: '';
	background: #999;
}
@media screen and (min-width:1024px){
	.Subtitle-A {
	}
}

/* ------------------------------------------------------------------------
    layout
------------------------------------------------------------------------  */
/* fit */
.is-fixed {
	position: fixed !important;
	top: 0;
	left:0;
	width: 100%;
	z-index:999;
	
	display: none;
}

.body_fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}

/* ------------------------------------------------------------------------
    Padding / Margin - Box
------------------------------------------------------------------------  */
.CC_M0 { /* 20 */
	margin-top:1.25em;
	margin-bottom:1.25em;
}
.CC_M1 { /* 30 */
	margin-top:2.14em;
	margin-bottom:2.14em;
}
.CC_M2 { /* 40 */
	margin-top:2.85em;
	margin-bottom:2.85em;
}
.CC_M3 { /* 50 */
	margin-top:3.57em;
	margin-bottom:3.57em;
}
.CC_M4 { /* 60 */
	margin-top:4.285em;
	margin-bottom:4.285em;
}
.CC_M5 { /* 80 */
	margin-top:5em;
	margin-bottom:5em;
}
.CC_M6 { /* 100 */
	margin-top:6.25em;
	margin-bottom:6.25em;
}
.CC_MB0 { /* 20 */
	margin-bottom:1.25em;
}
.CC_MB1 { /* 30 */
	margin-bottom:2.14em;
}
.CC_MB2 { /* 40 */
	margin-bottom:2.85em;
}
.CC_MB3 { /* 50 */
	margin-bottom:3.57em;
}
.CC_MB4 { /* 60 */
	margin-bottom:4.285em;
}
.CC_MB5 { /* 80 */
	margin-bottom:5em;
}
.CC_MB6 { /* 100 */
	margin-bottom:6.25em;
}
.CC_MT0 { /* 20 */
	margin-top:1.25em;
}
.CC_MT1 { /* 30 */
	margin-top:2.14em;
}
.CC_MT2 { /* 40 */
	margin-top:2.85em;
}
.CC_MT3 { /* 50 */
	margin-top:3.57em;
}
.CC_MT4 { /* 60 */
	margin-top:4.285em;
}
.CC_MT5 { /* 80 */
	margin-top:5em;
}
.CC_MT6 { /* 100 */
	margin-top:6.25em;
}

.CC_P0 { /* 20 */
	padding-top:1.25em;
	padding-bottom:1.25em;
}
.CC_P1 { /* 30 */
	padding-top:2.14em;
	padding-bottom:2.14em;
}
.CC_P2 { /* 40 */
	padding-top:2.85em;
	padding-bottom:2.85em;
}
.CC_P3 { /* 50 */
	padding-top:3.57em;
	padding-bottom:3.57em;
}
.CC_P4 { /* 60 */
	padding-top:4.285em;
	padding-bottom:4.285em;
}
.CC_P5 { /* 80 */
	padding-top:5em;
	padding-bottom:5em;
}
.CC_P6 { /* 100 */
	padding-top:6.25em;
	padding-bottom:6.25em;
}
.CC_PT0 { /* 20 */
	padding-top:1.25em;
}
.CC_PT1 { /* 30 */
	padding-top:2.14em;
}
.CC_PT2 { /* 40 */
	padding-top:2.85em;
}
.CC_PT3 { /* 50 */
	padding-top:3.57em;
}
.CC_PT4 { /* 60 */
	padding-top:4.285em;
}
.CC_PT5 { /* 80 */
	padding-top:5em;
}
.CC_PT6 { /* 100 */
	padding-top:6.25em;
}
.CC_PB0 { /* 20 */
	padding-bottom:1.25em;
}
.CC_PB1 { /* 30 */
	padding-bottom:2.14em;
}
.CC_PB2 { /* 40 */
	padding-bottom:2.85em;
}
.CC_PB3 { /* 50 */
	padding-bottom:3.57em;
}
.CC_PB4 { /* 60 */
	padding-bottom:4.285em;
}
.CC_PB5 { /* 80 */
	padding-bottom:5em;
}
.CC_PB6 { /* 100 */
	padding-bottom:6.25em;
}

/* ------------------------------------------------------------------------
    FLEX
------------------------------------------------------------------------  */
.flex{
	display:flex;
}
.inline_flex{
	display: inline-flex;
}
.fx_wrap {
	flex-wrap: wrap;
}
.fx_row {
	flex-direction: row;
}
.fx_column{
	flex-direction: column;
}
/*
 content
*/
.fx_between {
	justify-content: space-between;
}
.fx_c_center {
	justify-content: center;
}
.fx_end {
	justify-content: flex-end;
}
.fx_around {
	justify-content: space-around;
}
.fx_acontents {
	align-content: stretch;
}
/*
 align
*/
.fx_center {
	align-items:center;

}
.fx_itemend {
	align-items:flex-end;

}

/* ------------------------------------------------------------------------
    container
------------------------------------------------------------------------  */
.container{
	width:100%;
	margin-left: 	auto;
	margin-right: 	auto;
	box-sizing:border-box;
	
	padding-left: 6%;
	padding-right: 6%;
}
@media screen and (min-width:480px){
	.container{
		padding-left: 20px;
		padding-right: 20px;
	}
}
/* size */
.container.mid {
	max-width: 1400px;
}
.container.short {
	max-width: 1000px;
}

/* ------------------------------------------------------------------------
    LIST
------------------------------------------------------------------------  */
/* ol */
ol {
	counter-reset: number 0;
}
ol li{
	padding-left: 1.5em;
	text-indent: -1.5em;
	line-height: 1.5em;
	margin-top: .5em;
	margin-bottom: .5em;
}
ol li:before{
	counter-increment: number 1;
	content: counter(number) ". ";
	font-weight: 500;
}
/* point */
ol.Point {
	counter-reset: count 0;
}
ol.Point > li {
	display: block;
	padding-left: 1.2em;
	text-indent: -1.2em;
}
ol.Point > li:before {
	content: "・";
}
/* circle Num */
ol.Normal {
	counter-reset: count 0;
}
ol.Normal > li{
	list-style: none;
	padding-left: 1.3em;
	text-indent: -1.3em;
}

/* ------------------------------------------------------------------------
    switch
------------------------------------------------------------------------  */
.for--pc{}
.for--sp{}
@media screen and (max-width: 960px){
.for--pc{ display: none !important; }
}
@media screen and (min-width:1024px){
.for--sp{ display: none !important; }
}