/* ******************************************************************
 *	File name		: guardian.css
 *	Summary			: css base
 * ******************************************************************
 */

:root {
	--page-theme: #EFF5ED;/* 背景 */
	--page-color: #639F55;/* 文字 */
}

/* -----------------------------------------------------------------
   base
----------------------------------------------------------------- */

html{
	background:var(--page-theme);
	}
	header::before{
		background:var(--page-theme);
	}
#wrapper::before{
	display:none;
}

/* -----------------------------------------------------------------
   shigle_title
----------------------------------------------------------------- */

#shigle_title{
	position:relative;
	width:100%;
	}
	#shigle_title h2{
		position:relative;
		width:100%;
		margin:130px 0 30px;
		font-weight:bold;
		font-size:2.4rem;
		text-align:center;
		color:#000;
		line-height:1.35;
	}
	#shigle_title + p{
		margin:0 0 90px;
		font-weight:bold;
		line-height:1.75;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	#shigle_title h2{
		margin:40px 0 30px;
		padding:0 20px;
		font-size:1.8rem;
	}
	#shigle_title + p{
		margin:0 0 50px;
		padding:0 20px;
		font-size:0.87rem;
		line-height:1.75;
	}
}

/* -----------------------------------------------------------------
   shigle_title img
----------------------------------------------------------------- */

#shigle_title h2::before{
	content:" ";
	position:absolute;
	top:-82px;
	right:calc(50% - 350px);
	width:135px;
	height:130px;
	background:url(../../image/page/guardian.png) no-repeat 0 0;
	background-size:contain;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	#shigle_title h2::before{
		display:block;
		position:relative;
		top:0px;
		right:0px;
		margin:0 auto 15px;
	}
}

/* -----------------------------------------------------------------
   ribbon
----------------------------------------------------------------- */

.ribbon{
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:580px;
	max-width:calc(100% - 40px);
	height:80px;
	margin:0 auto 50px;
	font-weight:bold;
	font-size:1.7rem;
	background:var(--page-color);
	color:#FFF;
	}
	.ribbon::before,
	.ribbon::after{
		content:" ";
		position:absolute;
		top:0px;
		border:40px solid transparent;
		border-left:30px solid var(--page-theme);
	}
	.ribbon::before{
		left:0px;
	}
	.ribbon::after{
		right:0px;
		transform:rotate(180deg);
}

/* --- responsive --- */
@media screen and (max-width:767px){
	.ribbon{
		height:60px;
		font-size:1.3rem;
		}
		.ribbon::before,
		.ribbon::after{
			border:30px solid transparent;
			border-left:20px solid var(--page-theme);
	}
}

/* -----------------------------------------------------------------
   second_nav
----------------------------------------------------------------- */

#second_nav{
	position:relative;
	width:1040px;
	max-width:100%;
	margin:0 auto 30px;
	padding:0 20px;
	}
	#second_nav ul{
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:space-between;
		flex-wrap:wrap;
	}
	#second_nav ul li{
		width:23%;
		margin:0 0 20px;
	}
	#second_nav ul li a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		width:100%;
		height:60px;
		font-weight:bold;
		font-size:1.2rem;
		border:2px solid var(--page-color);
		-moz-border-radius:15px;
		-webkit-border-radius:15px;
		border-radius:15px;
		transition-duration:0.5s;
		background:#FFF;
		color:var(--page-color);
	}
	#second_nav ul li a:hover{
		opacity:0.8;
		text-decoration:none;
	}

/* --- responsive --- */
@media screen and (max-width:1000px){
	#second_nav ul li{
		width:49%;
	}
}
@media screen and (max-width:767px){
	#second_nav ul li{
		width:100%;
		margin:0 0 10px;
	}
}

/* -----------------------------------------------------------------
   main_contents
----------------------------------------------------------------- */

#main_contents{
	width:1040px;
	max-width:100%;
	padding:0 20px;
}

/* -----------------------------------------------------------------
   section
----------------------------------------------------------------- */

section{
	position:relative;
	margin:0 auto 50px;
	padding:50px;
	-moz-border-radius:30px;
	-webkit-border-radius:30px;
	border-radius:30px;
	background:#FFF;
	}
	section .section_title{
		margin-bottom:15px;
		padding-bottom:15px;
		border-bottom:1px solid var(--page-color);
	}
	section .section_title.noborder{
		border-bottom:none;
		margin-bottom:0px;
		padding-bottom:0px;
	}
	section .section_title h3{
		position:relative;
		margin-bottom:10px;
		font-weight:bold;
		font-size:1.7rem;
		text-align:left;
		color:var(--page-color);
		line-height:1.35;
	}
	section .section_title p{
		text-align:left;
		font-weight:bold;
		color:#000;
	}
	section dl{
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:space-between;
		flex-wrap:wrap;
	}
	section dl dt{
		position:relative;
		width:200px;
		margin-bottom:10px;
		padding-left:15px;
		text-align:left;
		}
		section dl dt::before{
			content:" ";
			position:absolute;
			top:7px;
			left:0px;
			width:9px;
			height:9px;
			-moz-border-radius:50%;
			-webkit-border-radius:50%;
			border-radius:50%;
			background:var(--page-color);
	}
	section dl dd{
		position:relative;
		width:calc(100% - 200px);
		margin-bottom:10px;
		text-align:left;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	section{
		padding:20px;
		-moz-border-radius:15px;
		-webkit-border-radius:15px;
		border-radius:15px;
	}
	section .section_title h3{
		font-size:1.3rem;
	}
	section dl dt{
		width:100%;
	}
	section dl dd{
		width:100%;
		margin-bottom:20px;
	}
	section dl dd:last-child{
		margin-bottom:0px;
	}
}

/* -----------------------------------------------------------------
   page
----------------------------------------------------------------- */

#calendar{
	margin-bottom:50px;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	#calendar{
		overflow-x:scroll;
	}
	#calendar figure{
		margin-bottom:15px;
		width:200%;
	}
}

#end_comment{
	margin:50px 0;
	}
	#end_comment p{
		font-weight:bold;
		font-size:1.1rem;
		line-height:1.75;
}

/* -----------------------------------------------------------------
   yarukoto_banner
----------------------------------------------------------------- */

#yarukoto_banner{
	width:827px;
	padding:0 20px;
	max-width:100%;
	margin:0 auto 175px;
}
/* --- responsive --- */
@media screen and (max-width:767px){
	#yarukoto_banner{
		width:500px;
		margin:0 auto 80px;
	}
}

/* -----------------------------------------------------------------
   footer
----------------------------------------------------------------- */

footer{
	background:#FFF;
	}
	footer::before{
		background:url(../../image/base/ft_bg_w.png) no-repeat center bottom;
		background-size:cover;
}

/* ft_banner */
#ft_contents_sp{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	position:relative;
	width:1000px;
	max-width:100%;
	margin:0 auto;
	padding:40px 0;
	z-index:2;
	}
	#ft_contents_sp h2{
		width:240px;
		font-weight:bold !important;
		font-size:2.0rem;
		text-align:left;
		color:#000;
	}
	#ft_contents_sp div{
		width:calc(100% - 240px);
		text-align:left;
	}
#ft_contents_sp *{
	color:#000;
}

/* --- */
#ft_contents_sp div p{
	font-size:1.1rem;
	line-height:1.75;
}
#ft_contents_sp div #ft_fshop{
	margin:0px 0 100px;
}
#ft_contents_sp div #ft_fshop p:has(strong){
	position:relative;
	margin:0 0 0px;
	padding-left:35px;
	font-size:1.5rem;
	}
	#ft_contents_sp div #ft_fshop p:has(strong)::before{
		content:" ";
		position:absolute;
		top:7px;
		left:0px;
		width:25px;
		height:25px;
		background:#F08300;
		-moz-border-radius:50%;
		-webkit-border-radius:50%;
		border-radius:50%;
	}
	#ft_contents_sp div #ft_fshop p strong{
		font-weight:bold;
}
#ft_contents_sp div #ft_tel{
	position:relative;
	margin:0 0 10px;
	font-weight:bold;
	font-size:1.9rem;
	line-height:1;
	}
	#ft_contents_sp div #ft_tel b{
		font-weight:bold !important;
		font-size:2.5rem;
}
#ft_contents_sp div #ft_tel span{
	font-weight:normal;
	font-size:1.0rem;
}
#ft_contents_sp div #ft_mail{
	margin:0 0 10px;
	}
	#ft_contents_sp div #ft_mail img{
		position:relative;
		top:-5px;
		margin:0 15px 0 0;
	}
	#ft_contents_sp div #ft_mail a{
		font-size:1.5rem;
		color:#000;
		text-decoration:none;
}
#ft_contents_sp div .back_top{
	width:520px;
	max-width:100%;
	height:110px;
	margin:0 0 60px;
	}
	#ft_contents_sp div .back_top a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		width:100%;
		height:100%;
		font-size:1.5rem;
		background:#F08300;
		color:#FFF;
		border:2px solid #F08300;
		-moz-border-radius:25px;
		-webkit-border-radius:25px;
		border-radius:25px;
		transition-duration:0.5s;
	}
	#ft_contents_sp div .back_top a:hover{
		text-decoration:none;
		background:#FFF;
		color:#F08300;
		}
		#ft_contents_sp div .back_top a::before{
			content:" ";
			position:absolute;
			left:60px;
			width:46px;
			height:35px;
			background:url(../../image/base/pc.png) no-repeat 0 0;
		}
		#ft_contents_sp div .back_top a:hover::before{
			background:url(../../image/base/pc_on.png) no-repeat 0 0;
}
#ft_contents_sp div .box_btn_g{
	width:400px;
	max-width:100%;
	margin:15px 0 0;
}

footer p#copy{
	padding:7px 10px;
	font-size:1.0rem;
}

/* --- responsive --- */
@media only screen and (max-width:1000px){
	/* ft_banner */
	#ft_contents_sp{
		display:none;
	}

	footer p#copy{
		font-size:0.8rem;
		color:#000;
	}
}
@media only screen and (max-width:640px){
	#ft_contents_sp div #ft_fshop{
		margin:30px 0 20px;
	}
	#ft_contents_sp div .back_top{
		width:100%;
		height:70px;
		}
		#ft_contents_sp div .back_top a{
			font-size:1.2rem;
			-moz-border-radius:35px;
			-webkit-border-radius:35px;
			border-radius:35px;
		}
		#ft_contents_sp div .back_top a::before{
			left:20px;
	}
}

/* sp menu */
#ft_contents{
	display:none;
}
