@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Bentham&display=swap");
.l-header {
	position: relative;
}

body .wrap, body aside {
	font-weight: 500;
	line-height: 1em;
	letter-spacing: 0.15em;
	font-family: "Noto Sans JP", sans-serif;
	font-feature-settings:normal;
}
body section img, body aside img {
	margin: 0;
}

/* floating */
.floating {
	display: flex;
	-webkit-box-pack: space-evenly;
	-ms-flex-pack: space-evenly;
	justify-content: space-evenly;
	text-align: center;
	position: fixed;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
	right: 0;
	width: 100%;
	z-index: 100;
}
.floating a {
	box-shadow: 0 3px 5px rgba(255, 255, 255, 0.3);
	width: 90%;
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 1.5px;
	background-color: #1a1a1a;
	color: #fff;
	text-align: center;
	padding: 15px 0;
	border-radius: 50px;
}
@media screen and (min-width: 768px) {
    
	.floating {
		width: 100%;
		justify-content: space-evenly;
	}
	.floating a {
		width: 49%;
		font-size: 16px;
		padding: 20px 0;
	}
}

.links {
	font-family: "Noto Sans JP", sans-serif;
}
.links > li {
	display: flex;
	align-items: center;
	height: 2.8em;
}
.links > li + li {
	margin: 1.8em 0 0;
}
.links em {
	font-size: 1.4em;
}
.links em :last-child {
	font-weight: bold;
	font-size: 12px;
}
.links small {
	font-size: 0.9em;
}
.links a {
	aspect-ratio: 170/28;
	height: 100%;
	margin: 0 0 0 auto;
	font-size: 1.2em;
	background: #000;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
    
}
@media screen and (max-width: 768px) {
	.links {
		width: 100%;
	}
	.links li {
		height: 2em;
	}
	.links em {
		font-size: 1.2em;
	}
	.links small {
		font-size: 1em;
	}
	.links a {
		aspect-ratio: 8/2;
		font-size: 1em;
	}
}

aside ul {
	width: 100em;
	margin: auto;
}
aside li {
	padding: 10em;
	position: relative;
}
aside li + li::before {
	content: "";
	width: 100%;
	height: 2px;
	background: #d2d2d0;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
aside li h5 {
	margin: 0 0 2em;
	font-size: 2em;
	text-align: center;
}
aside li img {
	width: 80em;
	margin: 0 auto 4em;
	display: block;
	width: 100%;
}
aside li p {
	font-size: 1.6em;
	margin: -0.625em 0 1.25em;
	line-height: 1.7em;
        text-align: center;
}
@media screen and (max-width: 768px) {
	aside li p {
		font-size: 1.4em;
        text-align: center;
	}
}
aside li div {
	margin: 0 0 2em;
	display: flex;
	justify-content: center;
}
@media screen and (max-width: 768px) {
	aside li div {
		justify-content: flex-start;
	}
}
aside li div strong {
	font-size: 2.6em;
}
@media screen and (max-width: 768px) {
	aside li div strong {
		font-size: 2.4em;
	}
}
aside li div em {
	margin: 0 0 0 1em;
	padding: 0 0 0 1em;
	font-size: 1.6em;
	border-left: 1px solid #000;
}
@media screen and (max-width: 768px) {
	aside li div em {
		font-size: 1.4em;
	}
}
aside li div em span {
	font-size: 1.5em;
}
aside li a {
	width: 40em;
	aspect-ratio: 560/55;
	font-size: 1.4em;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #808080;
	font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
	aside {
		width: 92%;
		margin: auto;
	}
	aside ul {
		width: 100%;
	}
	aside li {
		padding: 8em 0 5em;
	}
	aside li ::before {
		width: 100%;
	}
	aside li h5 {
		margin: 0 0 1.3888em;
		font-size: 1.8em;
		text-align: left;
	}
	aside li img {
		margin: 0 0 2.5em;
	}
	aside li a {
		width: 14.2857em;
		aspect-ratio: 200/40;
	}
}

.other {
	width: 57.5em;
	margin: auto;
}
@media screen and (max-width: 768px) {
	.other {
		width:100%;
	}

	.wrap .item .soloitem a{
		width:100%;
		height:5.5rem;
		display: block;
		background-color:#000000;
		color:#fff;
		font-size:1.8rem;
		text-align: center;
		line-height:5.5rem;
		margin:40px auto;
	}
}
.other h4 {
	margin: 0 0 1em;
	font-size: 2.2em;
	text-align: center;
	display: block;
}
@media screen and (max-width: 768px) {
	.other h4 {
		font-size: 2em;
		text-align: left;
	}
}
.other p {
	font-size: 1.6em;
	line-height: 1.7em;
	margin: 0 0 1em;
}
@media screen and (max-width: 768px) {
	.other p {
		font-size: 1.4em;
	}
}
.other .slider {
	width: 57.5em;
	margin: auto;
}
@media screen and (max-width: 768px) {
	.other .slider {
		width: 100%;
		padding: 0 0 2em 0;
		display: flex;
		overflow-x: scroll;
		gap: 2em;
	}
	.other .slider > li {
		min-width: 24em;
	}
}
.other .slider .slick-prev, .other .slider .slick-next {
	border-top: 2px solid #9b9b9b;
	border-right: 2px solid #9b9b9b;
	color: rgba(0, 0, 0, 0);
}
.other .slider img {
	margin: 0 0 1.6em;
}
.other .slider a span {
	padding: 0 0 0.4em;
	display: inline-flex;
	align-items: center;
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
}
.other .slider a span em {
	font-size: 1.4em;
}
.other .slider a span small {
	font-size: 1em;
}
.other .slider a span::after {
	content: "";
	width: 100%;
	height: 1px;
	background: #000;
	position: absolute;
	left: 0;
	bottom: 0;
}
.other + .other {
	margin: var(--mgn) auto 0;
}

main, aside {
	font-size: 10px;
}
@media screen and (max-width: 1240px) {
	main, aside {
		font-size: 0.92vw;
	}
}
@media screen and (max-width: 768px) {
    body .wrap{font-feature-settings:"palt";}
	main, aside {
		font-size: 2.66666vw;
	}
}
main *, aside * {
	font-size: 10px;
	letter-spacing: 0.1em;
	line-height: 1em;
}
@media screen and (max-width: 1240px) {
	main *, aside * {
		font-size: 0.92vw;
	}
}
@media screen and (max-width: 768px) {
	main *, aside * {
		font-size: 2.66666vw;
	}
}

:root {
	--cont: 120em;
	--mgn: 100px;
}
@media screen and (max-width: 1240px) {
	:root {
		--cont: 100em;
	}
}
@media screen and (max-width: 768px) {
	:root {
		--cont: 92%;
		--mgn: 21.3333vw;
	}
}

.sp_only {
	display: none;
}
@media screen and (max-width: 768px) {
	.sp_only {
		display: block;
	}
}



/***コンテンツ要素テンプレ***/

.wrap{
}

.wrap .maintext{
	max-width:1200px;
	margin:0 auto;
	padding:10rem 0;
}

.wrap .item{
	max-width:1200px;
	margin:0 auto;
	padding:10rem 0;
	border-bottom:1px solid #828282;
}

.item p.text{
	font-size:2rem;
	text-align: center;
	margin-top:10rem;
}

.wrap article .item{
	border: none;
}



.wrap .item h3{
	font-size: 2.2rem;	
	line-height:1.9;
	font-weight:700;
	text-align: center;
}
.wrap .item h3 small{
	display: block;
	margin-bottom:3rem;
}

.wrap .item h4{
	font-size: 2rem;
	font-weight:500;
	text-align: center;
	margin:10rem auto 5rem;
}



.wrap .item .links{
	margin-top:3rem;
}


.item_800{
	max-width:800px;
	margin:5rem auto 0;
}

.item_800 p{
	font-size: 1.8rem;
	line-height:1.9;
	margin-top:5rem;
}

.item_575{
	max-width:575px;
	margin:5rem auto 0;
}

.item_575 p{
	font-size: 1.8rem;
	line-height:1.9;
	margin-top:5rem;
}


.twoitem{
	display: flex;
	justify-content: space-between;
	margin-top:5rem;
}

/* .twoitem img{
	width:calc(50% - 2.5rem);
} */

.twoitem dl{
	width:calc(50% - 2.5rem);
}

.twoitem dl dt{
	font-size: 1.6rem;
  line-height: 1.9;
  font-weight: 400;
}

.twoitem dl dt img{
	width:100%;
}

.twoitem dl dd{
	font-size:1.8rem;
	line-height:1.9;
	margin-top:3rem;
}
.content_logo{
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin-bottom:3rem;
}

.wrap .content_logo img{
	width:auto;
}

.twoitem_alce{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top:5rem;
}


.twoitem_alce img{
	width:calc(50% - 2.5rem);
}

.twoitem_alce dl{
	width:calc(50% - 2.5rem);
}

.twoitem_alce dl dt{
	font-size:2rem;
	line-height:1.9;
	font-weight:600;
}

.twoitem_alce dl dt img{
	width:100%;
}

.twoitem_alce dl dt span{
	display: block;
	margin-bottom:5rem;
}

.twoitem_alce dl dt span img{
	width:auto;
}

.twoitem_alce dl dd{
	font-size:1.6rem;
	line-height:1.9;
	margin-top:3rem;
	letter-spacing:0.01em;
}

.wrap img {
	max-width: 100%;
}


.wrap .maintext h3{
	font-size:2.6rem;
	line-height:1.9;
	text-align: center;
}


.wrap .maintext p{
	font-size:1.8rem;
	line-height:1.9;
	text-align: left;
	letter-spacing: 0.1em;
	margin-top:5rem;
}

.wrap .item .other{
	margin:10rem auto 0;
}

.wrap .item .other h3{
	font-family:"adobe-garamond-pro";
	font-size:1.4rem;
	margin-bottom:3rem;
}


.wrap .item .other .slider p{
	font-family: 'Noto Sans JP';
	font-size:1.4rem;
	text-align: center;
	text-decoration:underline;
}

.wrap .item .other .slider p small{
	font-size:1rem;
}

aside.archive h5{
	font-size: 3rem;
	margin:10rem 0 5rem;
	text-align: center;
    letter-spacing:0.1em;
    font-feature-settings:"normal";
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
aside.archive p{
	font-size: 1.8rem;
	text-align: center;
    letter-spacing:0.1em;
    font-feature-settings:"normal";
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

aside.archive li a {
	background-color:#000;
	color:#fff;
  }

aside.archive li + li::before {
	content: "";
	display: none;
  }

aside.archive li {
	padding: 5rem 10rem;
	position: relative;
  }

.wrap aside {
	padding:5rem 0 10rem;
}

.wrap aside p{
	text-align:center;
	font-size:1.4rem;
	line-height: 1.9;
}


.wrap .spbr {
	display: none;
}



@media screen and (max-width: 768px) {
	.wrap .item{
		width: 90%;
	}

	.wrap .maintext{
		width: 90%;
	}

	
.item p.text{
	font-size:2rem;
	text-align: center;
	margin-top:5rem;
}

.wrap article .item{
	border: none;
}



.wrap .item h3{
	font-size: 2.2rem;
	line-height:1.9;
	font-weight:700;
	text-align: center;
}

.wrap .item h4{
	font-size: 2rem;
	font-weight:500;
	text-align: center;
	margin:5rem auto 5rem;
}



.wrap .item .links{
	margin-top:3rem;
}


.item_800{
	max-width:800px;
	margin:5rem auto 0;
}

.item_800 p{
	font-size: 1.8rem;
	line-height:1.9;
	margin-top:5rem;
}

.item_575{
	max-width:575px;
	margin:5rem auto 0;
}

.item_575 p{
	font-size: 1.8rem;
	line-height:1.9;
	margin-top:5rem;
}

.wrap .maintext h3{
	font-size:1.8rem;
}



.twoitem{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top:5rem;
}

.twoitem img{
	width:100%;
}

.twoitem dl{
	width:100%;
	margin-top:5rem;
}

.twoitem dl dt{
	font-size:2rem;
	line-height:1.9;
}

.twoitem dl dt img{
	width:100%;
}

.twoitem dl dd{
	font-size:1.8rem;
	line-height:1.9;
	margin-top:3rem;
}
.content_logo{
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin-bottom:3rem;
}

.wrap .content_logo img {
    width: 40%;
    height: auto;
  }

.twoitem_alce{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top:5rem;
	flex-wrap: wrap;
}


.twoitem_alce img{
	width:100%;
}

.twoitem_alce dl{
	width:100%;
	margin-top:5rem;
}

.twoitem_alce dl dt{
	font-size:2rem;
	line-height:1.9;
	font-weight:600;
}

.twoitem_alce dl dt img{
	width:100%;
}

.twoitem_alce dl dd{
	font-size:1.8rem;
	line-height:1.9;
	margin-top:3rem;
}

.wrap img {
	max-width: 100%;
}


.wrap .maintext h3{
	font-size:1.8rem;
	line-height:1.9;
	text-align: center;
}


.wrap .maintext p{
	font-size:1.6rem;
	line-height:1.9;
	text-align: left;
	letter-spacing: 0.1em;
	margin-top:5rem;
}

.wrap .item .other{
	margin:10rem auto 0;
}

.wrap .item .other h3{
	font-family:"adobe-garamond-pro";
	font-size:1.4rem;
	margin-bottom:3rem;
}


.wrap .item .other .slider p{
	font-family: 'Noto Sans JP';
	font-size:1.4rem;
	text-align: center;
	text-decoration:underline;
}

.wrap .item .other .slider p small{
	font-size:1rem;
}

	aside.archive li {
		padding: 5em 0 0em;
		position: relative;
	  }
	  aside.archive h5 {
		margin: 0rem 0 5rem;
	  }

	  .wrap .spbr {
		display: block;
	}
}


/**背景**/
.u-bgclr-beige{
    background-color:#FBF8F2;
}

.u-bgclr-gray{
    background-color:#F1F1EE;
}

/**parts**/

/**人物紹介**/
.wrap .person{
    max-width:1000px;
    margin:10rem 0 0 auto;
	align-items: center;
}

.wrap .person dl{
	display: flex;
	align-items: center;
	margin-bottom:2rem;
}	
.wrap .person dt{
	margin-right:30px;
}

.wrap .person dd{
	font-size: 1.8rem;
	line-height:1.9;
}
.wrap .person dd strong{
	display: block;
	font-size:2rem;
	line-height:1.7;
	font-weight:500;
	margin-bottom:2rem;
}





@media screen and (max-width:768px){
	.wrap .person{
		padding: 0;
	}
	
	
	.wrap .person dl{
		display: flex;
		flex-wrap: wrap;
		margin-bottom:0;
	}	
	.wrap .person dt{
		width: 100%;
		display: flex;
		justify-content: center;
		margin-right:0;
		margin-bottom:2rem;
	}
	.wrap .person dd {
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		font-size: 1.8rem;
		line-height: 1.9;
		text-align: left;
		flex-flow: column;
		font-weight: 600;
	  }

	  .wrap .person dd strong{
		font-weight: 600;
	  }
}




/***各LP要素***/
.contentnav{
	max-width:1225px;
	width:100%;
	margin:0 auto;
	padding:10rem 0;
}

.contentnav h3{
	font-size: 2.6rem;
	text-align: center;
}

.contentnav ul{
	display:flex;
	justify-content: center;
	flex-wrap: wrap-reverse;
}
.contentnav ul li{
	width: 37.5rem;
	margin:5rem 5rem 0 0;
}

.contentnav ul li:nth-of-type(3){
	margin-right: 0;
}

.contentnav ul li:nth-of-type(5){
	margin-right: 0;
}	

.contentnav li a{
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	background-color:#000000;
	color:#fff;
	padding: 1rem 0;
}

.contentnav li a p{
	font-size: 2.2rem;
	line-height: 1.6;
	font-weight:400;
	margin:0 30px 0 20px;
	letter-spacing:-0.02em;
}

.floating_nav{
	width: 37.5rem;
	display: block;
	position:fixed;
	background-color:#000000;
	color:#fff;
	padding: 2.2rem 0;
	text-align: center;
	font-size: 2.2rem;
	font-weight:400;
	letter-spacing:-2%;
	margin:0 auto;
	bottom: 5%;
	left: 0;
	right:0;
	z-index:9999;

}

.wrap .item h3{
	max-width:400px;
	border:1px solid #000;
	padding:25px 0;
	margin:0 auto;
	text-align: center;
}

.wrap .item h3 p{
	font-size:2.2rem;
	line-height:1.625;
	font-weight:400;
	margin-top:2rem;
}

.wrap .item h4 strong{
	display: block;
	font-size:2.2rem;
	font-weight: bold;
	font-family:Helvetica, sans-serif;
	margin-top:3rem;
}

.wrap .item h5{
	font-size:2.2rem;
	font-weight:400;
	text-align: center;
	margin-bottom:5rem;
}

.wrap .item p{
	font-size:1.8rem;
	line-height:1.9;
	font-weight:400;
}

.wrap .item .item_575 h5{
	font-size:2.2rem;
	font-weight:400;
	text-align: center;
	margin:3rem 0;
}
.wrap .item h4 span{
	display: block;
	margin: 0 auto 4rem;
}


.allbtn {
	display: block;
	max-width: 57.5rem;
	background-color: #000;
	color: #fff;
	font-size: 2rem;
	font-weight: 400;
	text-align: center;
	padding: 2rem 0;
	margin: 5rem auto 0;
  }

  .wrap .item#item05 .item_575 .slider p{
	margin:0;
  }

  .wrap .item#item05 .item_575 .slider img{
	margin:3rem 0;
  }

  .slick-prev, .slick-next{
	font-size:0;
  }

  @media screen and (max-width:768px) {
	.wrap .item h5 {
		font-size: 2.2rem;
		font-weight: 400;
		text-align: center;
		line-height:1.9;
		margin-bottom: 5rem;
	  }
	  .twoitem dl {
		width: 100%;
		margin-top: 0;
	  }

	  .contentnav ul{
		display:flex;
		justify-content: center;
		flex-wrap: wrap;
		margin:5rem auto 0;
	}
	
	  .contentnav ul li{
		width: 92%;
		margin:1rem auto;
	}
	

	.contentnav ul li:nth-of-type(4){
		order:1;
		margin:1rem auto;
	}
	

	.contentnav ul li:nth-of-type(5){
		order:2;
		margin:1rem auto;
	}	
	
	.contentnav ul li:nth-of-type(1){
		order:3;
		margin:1rem auto;
	}

	.contentnav ul li:nth-of-type(2){
		order:4;
		margin:1rem auto;
	}
	
	.contentnav ul li:nth-of-type(3){
		order:5;
		margin:1rem auto;
	}

	.contentnav li a{
		display: flex;
		justify-content: space-between;
		align-items: center;
		width:100%;
		background-color:#000000;
		color:#fff;
		padding: 2.2rem 2rem;
	}

	.contentnav h3 {
		font-size: 1.6rem;
		text-align: center;
	  }
	
  }