@charset "UTF-8";
/* CSS Document */
/* =========================================================
　メインビジュアル
========================================================= */
/*-----------Googleフォント------------------------------------------*/
.hina-mincho-regular {
  font-family: "Hina Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

/*-----------Googleフォントここまで------------------------------------------*/

html {
  visibility: hidden;
}

html.wf-active {
  visibility: visible;
}
body{
	font-feature-settings: "palt";
	font-size: 15px;
	letter-spacing: 0.05em;
	
	font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

main {
    background: url(images/bg.png) repeat center top;
}


.page_title{
	background:url(images/mv.png) ,url(images/title_bg.png),#fff;
	background-repeat: no-repeat,no-repeat;
	background-size: 1100px auto,cover;
	background-position: center;
	width: 100%;
	height :440px;
	text-align : center;
}
@media screen and (max-width:736px){
	.page_title{
		background-size: 120% auto,cover;
		padding-top: 53%;
		height: auto;
	}
	.site_title a {
    width: 250px;
    height: 60px;
    display: block;
}
}
/* ----------------- */


.page_title h2{
	display: none;
}

.contents-line-y{
/*	position: absolute;*/
	position: relative;
	background:  url(../spring_special/images/contents-line-p.png) repeat-x center top;
	z-index : 10000;
	height : 5px;
	display : block;
/*	top : 715px;*/
	top : -5px;
	width: 100%;
}
.footer-line{
	display : block;
	width: 100%;
	height: 5px;
}



/* 賢治さん紹介
--------------------------------------------------------- */
.kenji_box {
	display: flex;
	justify-content: space-between;
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
}
.kenji_box .flex_img {
	width: 30%;
}
.kenji_box .flex_img img {
	width: 100%;
}
.kenji_box .flex_text {
	width: 70%;
}
.kenji_box .flex_text img {
	width: 100%;
}
@media screen and (max-width:600px){
.kenji_box {
	display: block;
}
.kenji_box .flex_img {
	width: 50%;
	margin: 0 auto;
}
.kenji_box .flex_text {
	width: 100%;
	margin: 0 auto;
}
}

/*ページ内リンク
--------------------------------------------------------- */
ul.nav {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	margin-bottom: 5em;
	max-width: 1000px;
	width: 90%;
}
/* ==========================
スマホ版ページ内リンク
========================== */
ul.nav_sp {
	display: none;
}

@media screen and (max-width:600px){
ul.nav {
	display: none;
}
/* ==========================
スマホ版ページ内リンク
========================== */	
ul.nav_sp {
	display: block;
	width: 90%;
	margin: 0 auto;
}
ul.nav_sp li .pad_size_br {
	display: none;
}
ul.nav_sp li {
	width: 100%;
	margin-bottom: 1em;
	padding: 0;
	border-radius: 15px;
	border: 1px solid #ccc;
	box-sizing: border-box;
}
/* ==========================
背景アイコン
========================== */

ul.nav_sp li.li_yukari {
	background: url("images/arrow_bottom.png") no-repeat,url("images/menu_01.png") no-repeat,#fff;
	background-size: 12px,50px;
	background-position: center bottom 3px,center right 10px;
}

ul.nav_sp li.li_wanko {
	background: url("images/arrow_bottom.png") no-repeat,url("images/menu_02.png") no-repeat,#fff;
	background-size: 12px,30px;
	background-position: center bottom 3px,center right 20px;
}

ul.nav_sp li.li_geinou {
	background: url("images/arrow_bottom.png") no-repeat,url("images/menu_03.png") no-repeat,#fff;
	background-size: 12px,30px;
	background-position: center bottom 3px,center right 20px;
}
/* ----------------- */
	
ul.nav_sp li a {
	display: flex;
	justify-content:flex-start;
	
	padding: 1.3em;
	font-size: 14px;
	font-weight: bold;
	color: #333;
	letter-spacing: -.01em;
}
ul.nav_sp li a .navsp_number {
	color: #5F3B27;
	font-size: 26px;
	padding-top: .25em;
	padding-right: .4em;
}
ul.nav_sp li a .line_box {
	display: block;
	padding-left: 1em;
	/*border-left: 2px dotted #B1B1B1;*/
	background-image: repeating-linear-gradient(180deg, #B1B1B1, #B1B1B1 3px, transparent 0px, transparent 6px);
  background-position: left top;
  background-repeat: repeat-y;
  background-size: 1px 100%;
}	
	
	
ul.nav_sp li a .line_box span {
	display: block;
	font-size: .8em;
	color: #765E51;
}
}
/* ----------------- */


ul.nav li {
	width: 33.3%;
	padding-bottom: 0;
	position: relative;
}

/* 縦線 */
ul.nav li a .line_box::before{
	content:"";
	position:absolute;
	left:0;
	bottom:40px;
	width:2px;
	height:48px;
	background: repeating-linear-gradient(
		180deg,
		#B1B1B1,
		#B1B1B1 5px,
		transparent 5px,
		transparent 13px
	);
}

/* 最後の右線 */
ul.nav li.li_geinou a .line_box::after{
	content:"";
	position:absolute;
	right:0;
	bottom:40px;
	width:2px;
	height:48px;
	background: repeating-linear-gradient(
		180deg,
		#B1B1B1,
		#B1B1B1 5px,
		transparent 5px,
		transparent 13px
	);
}

/* 矢印 */
ul.nav li a::after {
	content:"";
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	bottom:0;
	width:30px;
	height:30px;
	background:url("images/arrow_off.png") center center no-repeat;
	background-size:30px 30px;
	transition:.25s;
}

/* hover */
ul.nav li:hover a::after{
	background:url("images/arrow_on.png") center center no-repeat;
	background-size:30px 30px;
	transform:translate(-50%,5px);
}

/* ==========================
背景アイコン
========================== */

ul.nav li.li_yukari a {
	background: url("images/menu_01.png") no-repeat;
	background-size:130px;
	background-position:center bottom 6.5em;
}

ul.nav li.li_wanko a {
	background: url("images/menu_02.png") no-repeat;
	background-size:60px;
	background-position:center bottom 6.5em;
}

ul.nav li.li_geinou a {
	background: url("images/menu_03.png") no-repeat;
	background-size:60px;
	background-position:center bottom 6.5em;
}

/* ==========================
リンク
========================== */

ul.nav li a {
	color:#333;
	font-size:17px;
	font-weight:bold;
	display:block;
	text-align:center;
	text-decoration:none;
	position:relative;

	/* タップ領域拡張 */
	padding-bottom:40px;
	padding-top: 8em;
}

ul.nav li a span{
	display:block;
	color:#765E51;
	font-size:.8em;
	margin-bottom:.5em;
}

/* ==========================
ipadサイズ
========================== */
br.pad_size_br {
		display: none;
	}
@media screen and (max-width:1000px){
	br.pad_size_br {
		display: block;
	}
	ul.nav li.li_yukari a {
	background: url("images/menu_01.png") no-repeat;
	background-size:130px;
	background-position:center bottom 7.5em;
}
	/* 最初の左線 */
	ul.nav li.li_yukari a .line_box::before{
		content:"";
		position:absolute;
		left:0;
		bottom:58px;
		width:2px;
		height:48px;
		background: repeating-linear-gradient(
			180deg,
			#B1B1B1,
			#B1B1B1 5px,
			transparent 5px,
			transparent 13px
		);
	}
}

/* メインコンテンツ
--------------------------------------------------------- */
section.main_contents {
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
	margin-bottom: 5em;
}
section.main_contents h3 {
	width: auto;
	height: 160px;
	margin: 0 auto;
	margin-top: 5em;
}
section.main_contents h3 img {
	display: block;
	height: 100%;
	width: auto;
	margin: 0 auto;
}
@media screen and (max-width:736px){
section.main_contents h3 {
	width: auto;
	height: 80px;
	margin: 0 auto;
	margin-top: 5em;
}
}
/* ----------------- */


section.main_contents .flex_box {
	max-width: 1000px;
	width: 90%;
	height: auto;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width:736px){
section.main_contents .flex_box {
	display: block;
}	
}
/* ----------------- */


section.main_contents .flex_box .flex_img {
	width: 75%;
	margin-left: -10%;
}
@media screen and (max-width:600px){
section.main_contents .flex_box .flex_img {
	width: 100%;
	margin-left: 0;
}	
}
/* ----------------- */

section.main_contents .flex_box .flex_img img {
	width: 100%;
}
section.main_contents .flex_box .flex_img img.maincontents_img_sp {
	display: none;
}
@media screen and (max-width:600px){
section.main_contents .flex_box .flex_img img {
	display: none;
}
section.main_contents .flex_box .flex_img img.maincontents_img_sp {
	display: block;
}
}
/* ----------------- */
section.main_contents .flex_box .flex_text {
	width: 30%;
	height: 320px;
	margin-top: 2em;
}
@media screen and (max-width:600px){
section.main_contents .flex_box .flex_text {
	width: 100%;
	height: auto;
	font-size: .9em;
}	
}
/* ----------------- */

section.main_contents .flex_box .flex_text p {
	font-size: 1.1em;
	writing-mode: vertical-rl;
	padding: 0;
}
@media screen and (max-width:600px){
section.main_contents .flex_box .flex_text p {
	font-size: 1.1em;
	writing-mode: horizontal-tb;
}
}
/* ----------------- */
section.main_contents .flex_box .flex_text img {
	width: 100%;
	margin-top: 4em;
}
@media screen and (max-width:600px){
section.main_contents .flex_box .flex_text img {
	display: none;
}
}


/* Coming soon
--------------------------------------------------------- */
.comingsoon {
	max-width: 600px;
	width: 90%;
	margin: 0 auto;
}
.comingsoon img {
	width: 100%;
}


.kenij_link_box {
	max-width: 1000px;
	width: 100%;
	margin-top: 5em;
}
.kenij_link_box img {
	width: 100%;
}


/* 詳しく見るボタン
--------------------------------------------------------- */
.btn{
	text-align: center;
}
.btn p{
	max-width: 600px;
	margin: 0 auto;
	margin-top: 2em;
	padding-top: 0;
	box-sizing: border-box;
}
@media screen and (max-width:600px){
.btn p{
	max-width: 90%;
}	
}
.btn_box2 a {
    width: 100%;
    padding: 1em;
    color: #333;
    display: block;
	border-radius: 100px;
	border: 1px solid #F27F96;
    text-decoration: none;
	background-image: url("images/arrow.png"),linear-gradient(190deg, #E3EEFD, #F3E7E9);
    background-repeat: no-repeat,no-repeat;
    background-size: 12px 20px,auto;
    background-position: right 20px center,center;
    text-align: center;
    transition: opacity 0.3s ease 0s;
    box-sizing: border-box;
}



/* 戻るボタン
--------------------------------------------------------- */
.backbtn{
	text-align: center;
}
.backbtn p{
	max-width: 600px;
	margin: 0 auto;
	padding: 4em 20px 4em;
	padding-top: 0;
	box-sizing: border-box;
}
.btn_box_s a {
    width: 100%;
    background-color: #604938;
    padding: 1em;
    color: #fff;
    display: block;
    text-decoration: none;
    background-repeat: no-repeat;
    background-size: 12px 20px;
    background-position: right 20px center;
    text-align: center;
    transition: opacity 0.3s ease 0s;
    box-sizing: border-box;
}

@media print, screen and (min-width:768px) {
.-u-HoverZoom {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .1s ease-in-out;
  transition: .1s ease-in-out;
}
.-u-HoverZoom:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
}
.-u-Hover:hover {
      opacity: 1;
      -webkit-animation: flashing 1s;
      animation: flashing 1s;
    }



@media screen and (max-width:768px){

}