@charset "utf-8";


/*=======================================
TOPページ
=======================================*/


/*
hero
*/

.hero{
	width: 100%;
	height: auto;
	aspect-ratio: 128 / 63;
	background:#F0EDE4;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	}
@media screen and (max-width: 900px) {
.hero{
	width: 100%;
	height: calc(100svh - 54px);
	align-items: flex-start;
	aspect-ratio: auto;
	flex-wrap: wrap;
	flex-direction: column;
	}
	}

.hero > div{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	}

.hero > div:first-child{
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(/assets/images/hero2025.jpg);
	background-size: cover;
	}
@media screen and (max-width: 900px) {
.hero > div:first-child{
	width: 100%;
	height: calc(100% - (100vw - 5%));
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	}
	}

.hero > div:first-child img{
	width: 100%;
	height: 100%;
	}
@media screen and (max-width: 900px) {
.hero >div:first-child img{
	width: 100%;
	height: auto;
	}
	}

.hero > div:last-child{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	row-gap: 25px;
	flex-direction: column;
	}
@media screen and (max-width: 900px) {
.hero > div:last-child{
	height: calc(100vw - 5%);
	row-gap: 15px;
	}
	}

.hero > div:last-child picture{
	width: 70%;
	height: auto;
	}
@media screen and (max-width: 900px) {
.hero > div:last-child picture{
	width: 85%;
	}
	}

.hero > div:last-child img{
	width: 100%;
	height: 100%;
	}

div.btn{
	display: block;
	width: auto;
	}
@media screen and (max-width: 900px) {
div.btn{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	flex-direction: row;
	column-gap: 10px;
	}
	}

div.btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 215px;
	height: 45px;
	background-color:#000;
	border-radius: 2px;
	}
div.btn a:first-child{
	/*display:none;*/
	}
@media screen and (max-width: 900px) {
div.btn a{
	width: 170px;
	}
div.btn a:first-child{
	display:flex;
	}
	}

div.btn a:hover{
	background-color:#555;
	}

div.btn a p{
	color:#fff !important;
	line-height: 45px;
	}
@media screen and (max-width: 900px) {
div.btn a p{
	font-size:.9em;
	}
	}

.hero > div:last-child > p{
	text-align: center;
	line-height: 1.5em;
	font-size: .8em;
	}

/*
intro
*/

.intro{
	border-top: 1px solid #ccc;
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	}
@media screen and (max-width: 900px) {
.intro{
	flex-direction: column;
	}
	}

.intro div{
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	}

@media screen and (max-width: 900px) {
.intro div:first-child{
	padding: 30px 0;
	}
	}

.intro div:first-child img{
	width: 10%;
	height: auto;
	}
@media screen and (max-width: 900px) {
.intro div:first-child img{
	width: 20%;
	}
	}

.intro div:first-child p{
	width: 80%;
	margin-top: 30px;
	line-height: 1.6em;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break:break-all;
	}
@media screen and (max-width: 900px) {
.intro div:first-child p{
	width: 86%;
	}
	}

.intro div:last-child{
	border-left: 1px solid #ccc;
	}
@media screen and (max-width: 900px) {
.intro div:last-child{
	border-left: none;
	}
	}

.intro div:last-child img{
	width: 100%;
	height: auto;
	}

/*
hit
*/

.sub > div:first-child .hit{
	width: 100%;
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit{
	flex-direction: column;
	}
	}

.sub > div:first-child .hit > div{
	width: 100%;
	border-right: 1px solid #ccc;
	border-top: 4px solid #A72D2A;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	padding: 50px 0;
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div{
	padding: 40px 0;
	}
	}


.sub > div:first-child .hit > div:last-child{
	border-right: none;
	}

.sub > div:first-child .hit > div > div{
	width: 80%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div > div{
	width: 90%;
	}
	}

.sub > div:first-child .hit > div > div > h3{
	color:#A72D2A;
	font-weight: 700;
	font-size: 1.8em;
	}

.sub > div:first-child .hit > div > div > p{
	font-weight: 500;
	margin-top: 15px;
	}

.sub > div:first-child .hit > div > div > div{
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div > div > div{
	width: 100%;
	margin-top: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	column-gap: 15px;
	}
	}

@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div > div > div > .img{
	width: 40%;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	}
	}

.sub > div:first-child .hit > div > div > div > .img img{
	width: 100%;
	margin-top: 45px;
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div > div > div > .img img{
	height: 100%;
	width: auto;
	margin-top: 0;
	}
	}

.sub > div:first-child .hit > div > div > div > img{
	width: 100%;
	}

.sub > div:first-child .hit > div > div > div ul{
	width: 90%;
	margin-top: 20px;
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div > div > div ul{
	width: calc(60% - 10px);
	margin-top: 0;
	}
	}

.sub > div:first-child .hit > div > div > div ul li{
	}

.sub > div:first-child .hit > div > div > div ul li a{
	}

.sub > div:first-child .hit > div > div > div ul li a p{
	display: inline-flex;
	align-items: center; 
	gap: .5em;
	line-height: 2;
	font-weight: 500;
	}

.sub > div:first-child .hit > div > div > div ul li a p::before{
	content: "";
	width: 1em;
	aspect-ratio: 1;
	background: url(../images/arrow-right.svg) no-repeat center / contain;
	flex: 0 0 auto;
	}

.sub > div:first-child .hit > div > div > div ul li a:hover p{
	text-decoration: underline;
	}

.sub > div:first-child .hit > div > div > div .btn{
	margin-top: 20px;
	max-width: 100%;
	}

.sub > div:first-child .hit > div > div > div .btn a{
	margin-top: 0;
	}







