@charset "utf-8";
@media only screen and (min-width:769px),print {


/*-------------------------------------
	共通項目
-------------------------------------*/

.pc {display:none!important;}	/*PCは表示しない*/

#page_top{
  width: 60px;
  height: 60px;
  position: fixed;
  right: 30px;
  bottom: 30px;
}
	.wrap{overflow: hidden;
	width:100%;}
	
figure img{ vertical-align: bottom;}
	
	
/* imgの基本設定 */
.wp-block-image .aligncenter,
.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto 30px;
	text-align: center;
}
		
	
.outbox .wp-block-image .alignright,
.outbox .alignright {
	float: right;
	margin: 0 0 30px 30px;
	max-width: 35%	!important;
}	
	
.outbox .wp-block-image .alignleft,
.outbox .alignleft {
	float: left;
	margin: 0 30px 30px 0;
	max-width: 35%	!important;
}

/*--header----------------------------------------------------*/
body {font-size: 100%;}

/*-footer-----------------------------------------------------*/


dl.gaiyo dt{
	width: 4em;
	float: left;
}
dl.gaiyo dd{padding-left:5em;}
	
footer .btmmenu {
	padding: 30px 0 10px;
	margin: 0 auto;
	display: block;
	max-width: 1100px;
	width: 100%;}	
	


footer .btmmenu ul{
	margin: 0 0 10px;
	padding: 0 0 0 0;
	text-align: center;
	display:flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	justify-content: center;
	
}
footer .btmmenu ul li{
	margin: 0 1.5em 20px 0em;
	font-size: 16px;
	background: none;
	border: none;
	padding: 0;
}

	
footer .btmmenu ul li a{
	color: #fff;
	display: block;
	font-weight: bold;
}
footer .btmmenu ul li a:hover{
	opacity: 0.7;
}
.footer .map{margin-bottom: 80px;}
.footer .map iframe{height: 400px;
	width: 100%;}

/*-コンテンツの基本骨格-----------------------------------------------------*/
.contents {
	margin: 0px auto 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
	align-content: center;
	position: relative;
	overflow: hidden;
	width: 100%;
	
}
.contents .main_contents{
	order: 1;
	width:70%;
	max-width: 780px;
	font-size:1.1rem;
}

.contents .sub_contents{
	order: 2;
	width: 24.5%;
	max-width: 270px;
	margin: 0 0 0 5.5%;
	flex-shrink: 0;	
}
	
.contents .main_contents_full{
	order: 3;
width: 100%!important;
	margin:0 auto 0 auto;
	font-size: 1.1rem;
}



/*-1カラム時のコンテンツ-----------------------------------------------------*/


.contents .main_contents_full .outbox,.footer .outbox{
	margin: 0 auto;
	padding: 0 0 0 0;
	width: 100%;
	max-width: 1100px!important;
}
	
	.contents .main_contents_full .outbox .inbox{padding-top: 40px;
	padding-bottom: 80px;}	
	
.fullbox{
	margin:0 calc(50% - 50vw)!important;
	width: 100vw;
	padding-top: 70px!important;
	padding-bottom: 70px!important;
	padding-left:calc(50vw - 50%)!important;
	padding-right:calc(50vw - 50%)!important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/*コンテンツをoutboxを超えて画面幅いっぱいにする*/
.main_contents_full .outbox .fullbox2{
	margin-right: calc(50% - 50vw)!important;
	margin-left: calc(50% - 50vw)!important;
	width: 100vw;
	padding-top: 0px;
	padding-bottom: 0px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


.contents .main_contents_full .inbox,
	footer .inbox{
	margin: 0 auto;
	display: block;
	width: 100%;
	
}
	
	

.contents .main_contents_full .inbox:after{
  clear: both;
  content: "";
  display: block;
}

h1.title{
	padding:0 0 20px 0; 
	font-size:2.5rem;
}

.front h2,.footer h2{
	padding:0;
	margin: 0 0 30px;
		font-size:2.5rem;
		line-height: 1.2;
}

.front h2 span,.footer h2 span{
		font-size: 40px;
		padding: 0 0 20px 0;
background-size: auto 45px;
	background-position:  center 60%;}	
	

h3{padding: 0px 0px 10px 0;
	font-size: 22px;
margin: 0 0 20px;}
	
/*-2カラム時のコンテンツ-----------------------------------------------------*/


	
.contents .main_contents .outbox{
	margin: 0;

}
.contents .main_contents .inbox{
	padding: 0 0px 10px;
	margin: 0 0 40px;
}

.contents .main_contents .inbox:after {
  clear: both;
  content: "";
  display: block;
}


/*-見出しスタイル-----------------------------------------------------*/

h4{font-size: 22px;}

h5{font-size: 20px;}


	
/*-eye-----------------------------------------------------*/
.topicpath,
	#topicpath{}
	
.eye{margin: 80px 0 10px 0;
	display: block;
	background:#fff;
	position: relative;
	max-width: 100%;
	width: 100%;
	height: 300px;
}
.eye h1,
.eye p{
	text-align: center;
	font-weight: bold;
	font-size: 40px;
	line-height: 1.2;
	color: #fff;
	margin: 0 auto;
	padding:120px 0 0 10px;
	max-width: 1100px;
	width: 100%;
	z-index: 2;
	position: relative;
}

.eye figure{
	position: absolute;
	right: 0;
	top:0;
	width: 100%;
	height: 300px;
	z-index: 1;
}

	
.eye img {object-fit: cover;
	width: 100%;
	height: 300px;
	object-position: center center;
}
	
	
/*N.PLUSとは*/	
.about{position: relative;}
	
.about figure{width: 61.63%;
	float: right;
	z-index: 1;}	
	
.about .about_text{
	z-index: 100;
		width: 48.36%;
		position: absolute;
		box-sizing: border-box;}

.about .about_text h2{text-align: left;}
	.about .about_text h2 span{
	background-position: -20px 50%;}
	
.about .about_text p{background: rgba(255,255,255,0.7);
	padding: 20px 30px;
	font-weight: bold;
	font-size: 22px;
}	

.main_contents_full .point h3{font-size:1.6em;}	

/*-------------------------------
   ついてくるガイドナビ
-------------------------------*/
.pc_guide{
	width: 254px;
	height: 163px;
	display: block;
	position: fixed;
	bottom: 0px;
	right: 0px;
	z-index: 100;
}

.pc_guide img{
	border-radius: 10px 0 0 0;
}

.main_contents_full .outbox .wp-block-media-text .wp-block-media-text__content {
  padding: 0 5%;}
	
ul.flex50{display: flex;
	flex-wrap: wrap;
	justify-content: space-between;}	
	
	ul.flex50 li{width: 49%;
	box-sizing: border-box;
	margin: 0 0 20px 0;}	
		
	
/*-------------------------------
   流れ
-------------------------------*/	
ol.step3 li figure {
	width: 35%;
	height: auto;
	float: right;
	 margin: 0 0 0 30px;
}

 ol.step3 li p {
	width: 60%;
	float: left;
}
	
 ol.step3 li:nth-of-type(even) figure {
	float: left;
	 margin: 0 30px 0 0;
}
ol.step3 li span.number {font-size: 20px;}	
ol.step3 li p.title {font-size: 35px;}		

.nyukai p.title{
padding: 40px 10px 20px 10px;
font-size: 2.5rem;
line-height: 1;}	
	
.specialprice{line-height: 1;
margin: 0 auto 15px auto;
font-size:120px;
	}	
	
.specialprice img{vertical-align: middle;
	height:120px;
margin: 0px 20px 0 0;}

/*-----------TOPブログアーカイブ----------------*/
	
ul.top_archive{
	display: flex;
	flex-wrap: wrap;
	align-content: stretch;
	align-items: stretch;
	justify-content:center;
}
ul.top_archive li{
	width: 23%;
	margin: 0 0.5% 30px;
	padding: 0;}
	

.main_contents_full ul.top_archive li h3{font-size: 18px;}
	
ul.top_archive li figure img{
width: 100%;
object-fit: cover;
	border-radius: 0;
}
	ul.top_archive li p{margin: 0 0 15px 0;}
	
ul.top_archive li p time{
	margin: 0 1em 0 0;
}		
ul.top_archive li figure{
	display: block;
	width: 100%;
aspect-ratio:3 /2;
	overflow: hidden;
	margin: 0 auto 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
}

	/*アーカイブページ*/
.main_contents .archive figure {
	width:25%;
	float: left;
	margin: 0 30px 10px 0px;}	

	
p.message{font-size: 40px;}	
	
	.box{padding: 30px!important;}	
	
}
