@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

div.main {
	width: 100%;
	line-height: 0;
	position: relative;
}

div.bg {
	background: #f8f6f3;
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 768px){
	
	div.main{
		margin-bottom: 80px;
    }
	
	div.main h2{
		width: 408px;
		line-height: 0;
		position: absolute;
		top: calc(50% - 135px);
		left: 0;
		z-index: 5;
    }
	
	section#info {
		width: 100%;
		margin-bottom: 4.2vw;
    }
	
	section#info div.section_inner{
		width: 82.75%;
		max-width: 1200px;
		margin: 0 auto;
	}
	
	section#info div.section_inner div.block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#info div.section_inner div.block div.block_l{
		width: 60%;
	}
	
	section#info div.section_inner div.block div.block_l h2{
		font-size: 3.4rem;
		font-size: clamp(1.7rem, 2.34vw, 3.4rem);
		font-weight: 700;
		line-height: 1.9;
		letter-spacing: 0.12em;
		margin-bottom: 2vw;
	}
	
	section#info div.section_inner div.block div.block_l p{
		font-size: 1.8rem;
		font-size: clamp(0.9rem, 1.24vw, 1.8rem);
		line-height: 2.7;
		letter-spacing: 0.06em;
	}
	
	section#info div.section_inner div.block figure.block_r{
		width: 36.2%;
		line-height: 0;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	
	section#info div.section_inner div.photo{
		line-height: 0;
		margin-top: 4vw;
	}

	
	section#skill {
		margin-bottom: 5.2vw;
	}
	
	section#skill div.section_inner{
		width: 82.75%;
		max-width: 1200px;
		margin: 0 auto;
    }
	
	section#skill div.section_inner h2{
		background: #0061ac;
		border-radius: 12px;
		padding: 20px;
		font-size: 2.8rem;
		font-size: clamp(1.4rem, 1.93vw, 2.8rem);
		font-weight: 700;
		color: #FFF;
		text-align: center;
		line-height: 1;
		letter-spacing: 0.18em;
		margin-bottom: 3.4vw;
		position: relative;
    }
	
	section#skill div.section_inner h2::after{
		content: "";
		width: 0;
        height: 0;
        border-style: solid;
        border-color: #0061ac transparent transparent transparent;
        border-width: 25px 18px 0px 18px;
		position: absolute;
		bottom: -22px;
		left: calc(50% - 18px);
		
    }
	
	section#skill div.section_inner h3{
		font-size: 3.0rem;
		font-size: clamp(1.5rem, 2vw, 3.0rem);
		font-weight: 700;
		color: #0061ac;
		line-height: 1;
		letter-spacing: 0.08em;
		margin-bottom: 2.6vw;
    }
	
	section#skill div.section_inner p{
		font-size: 1.8rem;
		font-size: clamp(0.9rem, 1.24vw, 1.8rem);
		line-height: 2.7;
		letter-spacing: 0.06em;
    }
	
	section#skill div.section_inner h4{
		font-size: 2.0rem;
		font-size: clamp(1.0rem, 1.37vw, 2.0rem);
		font-weight: 700;
		color: #0061ac;
		line-height: 1;
		letter-spacing: 0.08em;
		margin: 2.7vw 0 0;
    }
	
	section#skill div.section_inner div.photo_block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 18px;
    }
	
	section#skill div.section_inner div.photo_block figure{
		width: 30.8%;
    }
	
	section#skill div.section_inner div.photo_block figure figcaption {
		font-size: 1.8rem;
		font-size: clamp(0.9rem, 1.24vw, 1.8rem);
		line-height: 1.6;
		letter-spacing: 0.06em;
	}
	
	div.bg {
		padding: 7.5vw 0 8.2vw;
	}
	
	div.bg div.section_inner {
		width: 82.7%;
		max-width: 1200px;
		margin: 0 auto;
	}
	
	div.bg div.section_inner h2,
	section#faq h2{
		font-size: 3.6rem;
		font-size: clamp(1.8rem, 2.48vw, 3.6rem);
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.08em;
		text-align: center;
		padding-bottom: 2.8vw;
		margin-bottom: 4.8vw;
		position: relative;
	}
	
	div.bg div.section_inner h2::after,
	section#faq h2::after{
		content: "";
		width: 120px;
		height: 3px;
		background: #0061ac;
		position: absolute;
		bottom: 0;
		left: calc(50% - 60px);
	}
	
	section#future h3{
		font-size: 2.8rem;
		font-size: clamp(1.4rem, 1.93vw, 2.8rem);
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.08em;
		text-align: center;
		color: #0061ac;
	}
	
	section#future ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		list-style: none;
		margin-top: 2vw;
	}
	
	section#future ul li{
		width: 46.6%;
		font-size: 2.0rem;
		font-size: clamp(1.0rem, 1.37vw, 2.0rem);
		line-height: 1;
		padding: 1vw 0 1.25vw;
		border-top: 1px dashed #808080;
		border-bottom: 1px dashed #808080;
	}
	
	section#future ul li:nth-child(n + 3){
		border-top: none;
	}
	
	section#characteristic {
		margin-top: 7.8vw;
	}
	
	section#characteristic div.section_inner{
		position: relative;
		z-index: 3;
	}
	
	section#characteristic div.block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		background: #FFF;
		border: 5px solid #0061ac;
	}
	
	section#characteristic div.block div.block_inner{
		width: 50%;
	}
	
	section#characteristic div.block div.block_inner:nth-child(2){
		width: 50%;
		border-left: 5px solid #0061ac;
	}
	
	section#characteristic div.block div.block_inner div.box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		border-bottom: 5px solid #0061ac;
		padding: 4% 4%;
	}
	
	section#characteristic div.block div.block_inner div.box:last-of-type{
		border-bottom: none;
	}
	
	section#characteristic div.block div.block_inner div.box span.num{
		width: 15%;
		font-family: "Bebas Neue", serif;
		font-size: 6.0rem;
		font-size: clamp(3.0rem, 4.13vw, 6.0rem);
		line-height: 1;
        font-weight: 400;
		color: #0061ac;
        font-style: normal;
	}
	
	section#characteristic div.block div.block_inner div.box p{
		width: 85%;
		min-height: 5.2em;
		font-size: 2.0rem;
		font-size: clamp(1.0rem, 1.37vw, 2.0rem);
		line-height: 1.7;
		font-weight: 700;
		letter-spacing: 0.1em;
	}
	
	section#characteristic div.bg_photo{
		line-height: 0;
		position: relative;
		z-index: 0;
		margin-top: -12.5vw;
	}
	
	section#step {
		margin-top: 5vw;
	}
	
	section#step ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		list-style: none;
	}
	
	section#step ul li{
		width: 22.4%;
		position: relative;
	}
	
	section#step ul li::after{
		content: "";
		width: 6%;
		height: 100%;
		background: url("../images/aeon/arrow.svg") no-repeat;
		background-position: center;
		background-size: contain;
		position: absolute;
		top: 0;
		right: -11%;
	}
	
	section#step ul li:last-of-type::after{
		content: "";
		display: none;
	}
	
	section#step ul li h5{
		font-size: 2.0rem;
		font-size: clamp(1.0rem, 1.37vw, 2.0rem);
		line-height: 1;
		font-weight: 700;
		letter-spacing: 0.3em;
		background: #0061ac;
		color: #FFF;
		padding: 15px 7%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	section#step ul li h5 span.num{
		font-size: 180%;
		font-family: "Bebas Neue", serif;
        font-weight: 400;
		font-style: normal;
		display: inline-block;
		margin-right: 0.25em;
		letter-spacing: 0;
	}
	
	section#step ul li div.box{
		background: #FFF;
		padding: 20px 3%;
	}
	
	section#step ul li div.box p{
		font-size: 1.6rem;
		font-size: clamp(0.9rem, 1.1vw, 1.6rem);
		text-align: center;
	}
	
	section#step div.white_bg{
		background: #FFF;
		padding: 6.5% 7.5%;
		margin-top: 6vw;
	}
	
	section#step div.white_bg h3{
		font-size: 2.4rem;
		font-size: clamp(1.2rem, 1.65vw, 2.4rem);
		line-height: 1.6;
		letter-spacing: 0.08em;
		color: #0061ac;
		font-weight: 700;
		margin-bottom: 2.6vw;
	}
	
	section#step div.white_bg p{
		font-size: 1.6rem;
		font-size: clamp(0.9rem, 1.1vw, 1.6rem);
		line-height: 2.1;
		letter-spacing: 0.06em;
	}
	
	section#step div.white_bg h3 + p{
		margin-bottom: 1em;
	}
	
	section#step div.white_bg h2{
		margin-top: 6.6vw;
	}
	
	section#step div.white_bg div.voice div.box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#step div.white_bg div.voice div.box + div.box{
		margin-top: 4.6vw;
	}
	
	section#step div.white_bg div.voice div.box span.icon{
		width: 12%;
	}
	
	section#step div.white_bg div.voice div.box div.text{
		width: 86%;
	}
	
	section#step div.white_bg div.voice div.box div.text h4{
		font-size: 2.0rem;
		font-size: clamp(1.0rem, 1.37vw, 2.0rem);
		line-height: 1.6;
		letter-spacing: 0.08em;
		color: #0061ac;
		font-weight: 700;
		margin-bottom: 0.8em;
	}
	
	section#step div.white_bg div.voice div.box div.text p{
		letter-spacing: 0.05em;
	}
	
	section#faq{
		margin-top: 6.2vw
	}
	
	section#faq div.section_inner{
		width: 82.7%;
		max-width: 1200px;
		margin: 0 auto;
	}
	
	section#faq dl dt{
		font-size: 2.0rem;
		font-size: clamp(1.0rem, 1.37vw, 2.0rem);
		line-height: 1.6;
		letter-spacing: 0.08em;
		color: #0061ac;
		font-weight: 700;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
		margin-bottom: 1em;
	}
	
	section#faq dl dt span{
		width: 2.5%;
		display: inline-block;
		margin-right: 0.5em;
	}
	
	section#faq dl dd{
		font-size: 1.6rem;
		font-size: clamp(0.9rem, 1.1vw, 1.6rem);
		line-height: 2.1;
		letter-spacing: 0.06em;
	}
	
	section#faq dl dd + dt {
		margin-top: 2.5em;
	}
}




/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 767px){
	
	div.main {
		margin-bottom: 12vw;
    }
	
	div.main h2{
		width: 50vw;
		line-height: 0;
		position: absolute;
		top: calc(50% - 16.5vw);
		left: 0;
		z-index: 5;
    }
	
	section#info {
		width: 100%;
		margin-bottom: 10vw;
    }
	
	section#info div.section_inner{
		width: 90%;
		margin: 0 auto;
	}
	
	section#info div.section_inner div.block div.block_l{
		width: 100%;
	}
	
	section#info div.section_inner div.block div.block_l h2{
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 3.4rem);
		font-weight: 700;
		line-height: 1.9;
		letter-spacing: 0.12em;
		margin-bottom: 2vw;
	}
	
	section#info div.section_inner div.block div.block_l p{
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 3.91vw, 3.0rem);
		line-height: 2.7;
		letter-spacing: 0.06em;
	}
	
	section#info div.section_inner div.block figure.block_r{
		width: 80%;
		line-height: 0;
		margin: 6vw auto 0;
	}
	
	section#info div.section_inner div.photo{
		width: 100vw;
		line-height: 0;
		margin-top: 10vw;
		margin-left: -5vw;
	}

	
	section#skill {
		margin-bottom: 15vw;
	}
	
	section#skill div.section_inner{
		width: 90%;
		margin: 0 auto;
    }
	
	section#skill div.section_inner h2{
		background: #0061ac;
		border-radius: 12px;
		padding: 4vw;
		font-size: 1.5rem;
		font-size: clamp(1.5rem, 4.17vw, 3.2rem);
		font-weight: 700;
		color: #FFF;
		text-align: center;
		line-height: 1.6;
		letter-spacing: 0.18em;
		margin-bottom: 8vw;
		position: relative;
    }
	
	section#skill div.section_inner h2::after{
		content: "";
		width: 0;
        height: 0;
        border-style: solid;
        border-color: #0061ac transparent transparent transparent;
        border-width: 5vw 3.6vw 0px 3.6vw;
		position: absolute;
		bottom: -4.4vw;
		left: calc(50% - 3.6vw);
		
    }
	
	section#skill div.section_inner h3{
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 3.4rem);
		font-weight: 700;
		color: #0061ac;
		line-height: 1.8;
		letter-spacing: 0.05em;
		margin-bottom: 3vw;
    }
	
	section#skill div.section_inner p{
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 3.91vw, 3.0rem);
		line-height: 2.1;
		letter-spacing: 0.06em;
    }
	
	section#skill div.section_inner h4{
		font-size: 2.0rem;
		font-size: clamp(1.5rem, 4.17vw, 3.2rem);
		font-weight: 700;
		color: #0061ac;
		line-height: 1.6;
		letter-spacing: 0.08em;
		margin: 5vw 0 0;
    }
	
	section#skill div.section_inner div.photo_block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 4vw;
    }
	
	section#skill div.section_inner div.photo_block figure{
		width: 100%;
    }
	
	section#skill div.section_inner div.photo_block figure + figure{
		margin-top: 7.5vw;
    }
	
	section#skill div.section_inner div.photo_block figure figcaption {
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 3.91vw, 3.0rem);
		line-height: 1.6;
		letter-spacing: 0.06em;
	}
	
	div.bg {
		padding: 15vw 0;
	}
	
	div.bg div.section_inner {
		width: 90%;
		margin: 0 auto;
	}
	
	div.bg div.section_inner h2,
	section#faq h2{
		font-size: 1.8rem;
		font-size: clamp(1.8rem, 4.99vw, 3.83rem);
		font-weight: 700;
		line-height: 1.6;
		letter-spacing: 0.08em;
		text-align: center;
		padding-bottom: 3.2vw;
		margin-bottom: 10vw;
		position: relative;
	}
	
	div.bg div.section_inner h2::after,
	section#faq h2::after{
		content: "";
		width: 24vw;
		height: 3px;
		background: #0061ac;
		position: absolute;
		bottom: 0;
		left: calc(50% - 12vw);
	}
	
	section#future h3{
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 3.4rem);
		font-weight: 700;
		line-height: 1.6;
		letter-spacing: 0.08em;
		text-align: center;
		color: #0061ac;
	}
	
	section#future ul{
		list-style: none;
		margin-top: 3vw;
	}
	
	section#future ul li{
		width: 100%;
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 3.91vw, 3.0rem);
		line-height: 1.5;
		padding: 2vw 0 2.5vw;
		border-bottom: 1px dashed #808080;
		text-indent: -1.25em;
		padding-left: 1.25em;
	}
	
	section#future ul li:first-of-type{
		border-top: 1px dashed #808080;
	}
	
	section#characteristic {
		margin-top: 10vw;
	}
	
	section#characteristic div.section_inner{
		position: relative;
		z-index: 3;
	}
	
	section#characteristic div.block{
		background: #FFF;
		border: 5px solid #0061ac;
	}
	
	section#characteristic div.block div.block_inner{
		width: 100%;
	}
	
	section#characteristic div.block div.block_inner + div.block_inner{
		border-top: 5px solid #0061ac;
	}
	
	section#characteristic div.block div.block_inner div.box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		border-bottom: 5px solid #0061ac;
		padding: 4% 4%;
	}
	
	section#characteristic div.block div.block_inner div.box:last-of-type{
		border-bottom: none;
	}
	
	section#characteristic div.block div.block_inner div.box span.num{
		width: 15%;
		font-family: "Bebas Neue", serif;
		font-size: 6.0rem;
		font-size: clamp(3.0rem, 8.34vw, 6.4rem);
		line-height: 1;
        font-weight: 400;
		color: #0061ac;
        font-style: normal;
	}
	
	section#characteristic div.block div.block_inner div.box p{
		width: 85%;
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 3.91vw, 3.0rem);
		line-height: 1.7;
		font-weight: 700;
		letter-spacing: 0.1em;
	}
	
	section#characteristic div.bg_photo{
		line-height: 0;
		position: relative;
		z-index: 0;
		margin-top: -12.5vw;
	}
	
	section#step {
		margin-top: 10vw;
	}
	
	section#step ul{
		list-style: none;
	}
	
	section#step ul li{
		width: 100%;
		position: relative;
	}
	
	section#step ul li + li{
		margin-top: 10vw;
	}
	
	section#step ul li::after{
		content: "";
		width: 6%;
		height: 100%;
		transform:rotate(90deg);
		background: url("../images/aeon/arrow.svg") no-repeat;
		background-position: center;
		background-size: contain;
		position: absolute;
		bottom: -64%;
		left: calc(50% - 3%);
		
	}
	
	section#step ul li:last-of-type::after{
		content: "";
		display: none;
	}
	
	section#step ul li h5{
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 3.4rem);
		line-height: 1;
		font-weight: 700;
		letter-spacing: 0.3em;
		background: #0061ac;
		color: #FFF;
		padding: 3vw 7%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	section#step ul li h5 span.num{
		font-size: 180%;
		font-family: "Bebas Neue", serif;
        font-weight: 400;
		font-style: normal;
		display: inline-block;
		margin-right: 0.25em;
		letter-spacing: 0;
	}
	
	section#step ul li div.box{
		background: #FFF;
		padding: 4vw 3%;
	}
	
	section#step ul li div.box p{
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 3.91vw, 3.0rem);
		text-align: center;
	}
	
	section#step div.white_bg{
		background: #FFF;
		padding: 8vw;
		margin-top: 12vw;
	}
	
	section#step div.white_bg h3{
		font-size: 1.8rem;
		font-size: clamp(1.8rem, 4.99vw, 3.83em);
		line-height: 1.6;
		letter-spacing: 0.08em;
		color: #0061ac;
		font-weight: 700;
		margin-bottom: 5vw;
	}
	
	section#step div.white_bg p{
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.59vw, 2.76rem);
		line-height: 2.1;
		letter-spacing: 0.06em;
	}
	
	section#step div.white_bg h3 + p{
		margin-bottom: 1em;
	}
	
	section#step div.white_bg h2{
		margin-top: 12vw;
	}
	
	section#step div.white_bg div.voice div.box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#step div.white_bg div.voice div.box + div.box{
		margin-top: 8vw;
	}
	
	section#step div.white_bg div.voice div.box span.icon{
		width: 20%;
	}
	
	section#step div.white_bg div.voice div.box div.text{
		width: 75%;
	}
	
	section#step div.white_bg div.voice div.box div.text h4{
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 3.4rem);
		line-height: 1.6;
		letter-spacing: 0.08em;
		color: #0061ac;
		font-weight: 700;
		margin-bottom: 0.8em;
	}
	
	section#step div.white_bg div.voice div.box div.text p{
		letter-spacing: 0.05em;
	}
	
	section#faq{
		margin-top: 12vw
	}
	
	section#faq div.section_inner{
		width: 90%;
		margin: 0 auto;
	}
	
	section#faq dl dt{
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 3.4rem);
		line-height: 1.6;
		letter-spacing: 0.08em;
		color: #0061ac;
		font-weight: 700;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
		margin-bottom: 1em;
	}
	
	section#faq dl dt span{
		width: 1.5em;
		display: inline-block;
		margin-right: 0.5em;
	}
	
	section#faq dl dd{
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 3.91vw, 3.0rem);
		line-height: 2.1;
		letter-spacing: 0.06em;
	}
	
	section#faq dl dd + dt {
		margin-top: 2.5em;
	}
	
}