@charset "UTF-8";




/** 01. Globals
**************************************************************** **/
.content_full {
	margin: 0px -10px 0px;
	padding: 20px;
}

.green, .green a { color: #4C9C17; }

.well {
	margin-bottom: 0px;
}





/* PC定義リスト：テキスト見出し
---------------------------------------------------- */
#content a {
	text-decoration: none;
}

h3 span.bg_green {
	background-color: #4E8A5C;
	color:#FFFFFF;
	display: inline-block;
	padding: 0.25em;
}

h4, .h4 {
	line-height: 1.8;
}

h5, .h5 {
	font-size: 120%;
}

.underline_green {
	display: inline;
	border-bottom: 3px solid #4E8A5C;
}

.pad_l5 {
	padding-left: 2.5em;
}

img.photo_r {
	width: auto;
	height: auto;
	float: right;
}






/** 02. Letters in the circle
**************************************************************** **/

.maru {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	flex-flow: column;
	vertical-align: top;
	background-color: #4E8A5C;
}

.maru.outline {
	background-color: #FFFFFF;
}

/* 円の大きさ */
.size_normal {
	width: 30px;
	height: 30px;
}

/* 文字の大きさ */
.letter18 {
	font-size: 15px;
	line-height: 15px;
	font-weight: bold;
  text-indent: 0em;
}

/* 円と文字の色 */
.maru_green {
	color: #FFFFFF;
	border: 3px solid #4E8A5C;
}

.maru_green.outline {
	color: #4E8A5C;
	border: 3px solid #4E8A5C;
}




/** 03. thumbnail
**************************************************************** **/

.thumbnail {
	display: block;
	line-height: 1.5;
	border-radius: 4px;
}

.thumbnail.hosyo {
	background-color:#D9EADD;
	border-color: #92E7A8;
}

a.thumbnail.hosyo:hover,
a.thumbnail.hosyo:focus,
a.thumbnail.active {
	border-color: #92E7A8;
	background-color: #acd0b4;
}

.thumbnail > img,
.thumbnail a > img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-right: auto;
	margin-left: auto;
	padding: 4px;
}

.thumbnail .caption {
	padding: 4px;
	text-align: center;
}

.panel.panel-success {
	background-color:#d9eadd;
	border-color: #d9eadd;
}






/** 04. aid accordion
**************************************************************** **/
.aid_list {
	color: #3498DB;
	font-weight: bold;
	margin-top: -2px;
	padding: 20px 30px 20px 20px;
	padding-left: 0.75em;
	padding-right: 2.5em;
	font-size: inherit;
	line-height: 1.5em;
}

/*アコーディオンを四角にする*/
a.list-group-item.square, .well.square {
	border-radius: 0;
}

.aid_comment {
	padding: 10px;
}






/** 05. Moving arrow
**************************************************************** **/
.box1 {
	background : #C00000;
	left : 0px;
	top : 0px;
	width : 80%;
	height : 14vw;
	position: relative;
	text-align: center;
	color: #fff;
	font-size: 5vw;
	font-weight: 600;
	padding: 0.6em 0;
}

.box1::before {
	position:absolute;
	content:"";
	border-top: 7vw solid transparent;
	border-right: 7vw solid transparent;
	border-bottom: 7vw solid transparent;
	border-left: 12vw solid #C00000;
	top:0px;
	left:100%;
}

.box2 {
	background : #C00000;
	left : 0px;
	top : 0px;
	width : 80%;
	height : 14vw;
	position: relative;
	text-align: center;
	color: #fff;
	font-size: 5vw;
	font-weight: 600;
	padding: 0.6em 0;
}

.box2::before {
	position:absolute;
	content:"";
	border-top: 7vw solid transparent;
	border-right: 12vw solid #C00000;
	border-bottom: 7vw solid transparent;
	border-left: 7vw solid transparent;
	top:0px;
	right:100%;
}

.box5 {
	background : #81DC5D;
	left : 0px;
	top : 0px;
	width : 100%;
	height :90px;
	position: relative;
	color: #fff;
	font-size:1.6em;
	font-weight: 500;
	padding: 0.2em 0.5em;
	margin: 0 0 0.5em 0;
}

.box5 .border_b{
	padding-bottom: 5px;
	border-bottom: 3px solid #F7F476;
}

.box5:hover,.box5:active {
	background : #F5A629;
}


@media only screen and (max-width: 991px) {
.box5 {
	font-size : 1em;
	height : 57px;
}

.box5 .border_b {
	padding-bottom: 1px;
	border-bottom: 3px solid #F7F476;
}
}

.box6 {
	background : #22B828;
	left : 0px;
	top : 0px;
	width : 100%;
	height : 90px;
	position: relative;
	color: #fff;
	font-size:1.5em;
	font-weight: 500;
	padding: 0.2em 2em;
}

.box:nth-child(2) { background: #f8c82d; }
.box:nth-child(3) { background: #0aba58; }


.delighter.splash {
	transition: all 2s ease-out;
}

.delighter.splash.ended {
	background: #fff;
}

.delighter.right { transform:translate(-100%); opacity:0; transition: all .75s ease-out; }
.delighter.right.started { transform:none; opacity:1; }

.delighter.left { transform:translate(100%); opacity:0; transition: all .75s ease-out; }
.delighter.left.started { transform:none; opacity:1; }

.delighter.bottom { transform:translatey(300%); opacity:0; transition: all .75s ease-out; }
.delighter.bottom.started { transform:none; opacity:1; }

.delighter li { opacity: 0; transform: translatey(400%); transition: all .7s ease-out; }
.delighter.started li { opacity: 1; transform: none; }
.delighter.started li:nth-child(1) { transition: all .7s ease-out .1s; }
.delighter.started li:nth-child(2) { transition: all .7s ease-out .3s; }
.delighter.started li:nth-child(3) { transition: all .7s ease-out .5s; }
.delighter.started li:nth-child(4) { transition: all .7s ease-out .7s; }
.delighter.started li:nth-child(5) { transition: all .7s ease-out .9s; }
.delighter.started li:nth-child(6) { transition: all .7s ease-out 1.1s; }
.delighter.started li:nth-child(7) { transition: all .7s ease-out 1.3s; }

.delighter .foo {
	display: block; transition: all 1s ease-out; opacity: 1;
	width: 1px; 
	overflow: hidden;
}

@media (max-width: 768px) {
.delighter .foo {
	display: block; transition: all 2s ease-out; opacity: 1;
	width: 1px; 
	overflow: hidden;
}
}

.delighter.started .foo {
	max-width: 99999px; width: 100%; opacity: 1;
}

.delighter .box1 { transition: all 2s ease-out; margin: 0;}
.delighter .box1:nth-child(1) { transform: translate(-200%, 0); }
.delighter.started .box1:nth-child(1) { transform: translate(0, 0); }

.delighter .box2 { transition: all 1s ease-out; margin: 5px 0;}
.delighter .box2:nth-child(1) { transform: translate(200%, 0);}
.delighter.started .box2:nth-child(1) { transform: translate(30%, 0); }

.delighter .box3 { transition: all 0.5s ease-out; margin: 5px 0; }
.delighter .box3:nth-child(1) { transform: translate(80%, -30%); }
.delighter.started .box3:nth-child(1) { transform: translate(70%, -30%); }

.delighter .box4 { transition: all 0.5s ease-out; margin: 5px 0; }
.delighter .box4:nth-child(1) { transform: translate(80%, -30%); }
.delighter.started .box4:nth-child(1) { transform: translate(70%, -30%); }

.delighter .box5 { transition: all 0.5s ease-out; margin:0 0 0.5em 0 ; }
.delighter .box5:nth-child(1) { transform: translate(-200%, 0);}
.delighter.started .box5:nth-child(1) {transform: translate(0, 0);}

.delighter .box6 { transition: all 0.5s ease-out; margin:0; }
.delighter .box6:nth-child(1) { transform: translate(200%, 0);}
.delighter.started .box6:nth-child(1) { transform: translate(30%, 0); }



div .icon img {
	filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.3));
}

@media (max-width: 768px) {
	div .icon img {
		filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.3));
		width: 100px;
	}
}

article {
	overflow-x: hidden;
}

.font-flexible {
	margin-top: 3rem;
	font-size: 210%;
}

@media only screen and (max-width: 1200px) {
.font-flexible {
	margin-top: 2vw;
	font-size: 3vw;
}
}

@media only screen and (max-width: 768px) {
.font-flexible {
	margin-top: 3.2vw;
	font-size: 6vw;
}
}

@media only screen and (max-width: 575px) {
.font-flexible {
	margin-top: 5.2vw;
	font-size: 7vw;
}
}






/** 06. bootstrap 機能拡張
**************************************************************** **/

.row-center {
	text-align:center;
	letter-spacing:-0.4em;
}

.row-center > [class*='col-'] {
	display: inline-block;
	letter-spacing: 0;
	vertical-align: top;
	float: none !important;
}

.row-center.va-middle > [class*='col-'] {
	vertical-align: middle;
}

.row-center.va-bottom > [class*='col-'] {
	vertical-align: bottom;
}

@media only screen and (max-width: 768px) {
.row-center > [class*='col-sm'] {
	display: block;
}
}



/** 07. module
**************************************************************** **/
.module_inner {
	padding: 10px;
}

.module-pink2 {
	background-color: #f9dbdc;
}

.module-green2 {
	background-color: #b7ecc9;
}

.module-green3 {
	background-color: #70ad47;
}

.tile .col-sm-6:first-child {
	padding-right: 0;
	margin-bottom: 30px;
}

.tile .col-sm-6:last-child {
	padding-left: 0;
	margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
	.tile .col-sm-6:first-child {
		padding-right: 10px;
		margin-bottom: 0;
	}

	.tile .col-sm-6:last-child {
	padding-left: 10px;
	margin-bottom: 30px;
	}
}







/** 08. 画像コンテンツ
**************************************************************** **/
/* スペース有りタイプ */
.content-wrap {
	text-align: center;
	margin-bottom: 5px;
	padding: 0px;
	position: relative;
	overflow: hidden;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	background: #fff;
}

.content-wrap h4 {
	font-size: 15px;
	text-transform: uppercase;
}

.content-wrap h4:hover {
	font-size: 15px;
	text-transform: uppercase;
	text-decoration: none;
}



.content-wrap:hover .content-hover {
	opacity: 1;
	text-decoration: none;
}

/* スペースなしタイプ */
.content-wrap2 {
	text-align: center;
	margin-bottom: 0px;
	padding: 0px;
	position: relative;
	overflow: hidden;
	background: #fff;
}

.content-wrap2 h4 {
	font-size: 15px;
	text-transform: uppercase;
}

.content-wrap2 h4:hover {
	font-size: 15px;
	text-transform: uppercase;
	text-decoration: none;
}

.content-wrap2:hover .content-hover {
	opacity: 1;
	text-decoration: none;
}

.content-label {
	position: absolute;
	top:0;
	left: 0;
	padding: 4px 10px;
	text-transform: uppercase;
	font-size: 13px;
	color:#fff;
	background: #333;
}

.content-hover {
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	height: 100%;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	background-color:rgba(66,172,194,0.90);
	text-align: center;
	opacity: 0;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.content-hover2 {
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	height: 100%;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	background-color:rgb(129 129 129 / 90%);
	text-align: center;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.content-hover p,.content-hover2 p {
	position: absolute;
	width: 100%;
	top: 50%;
	margin-top: -10px;
	text-align: center;
	font-size: 20px;
	color: #fff;
	text-transform: none;
}


.content-wrap .content-commingsoon {
	opacity: 1;
	text-decoration: none;
}

.content-commingsoon {
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	height: 100%;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	background-color:rgba(91,91,91,0.90);
	text-align: center;
	opacity: 0;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.content-commingsoon p {
	position: absolute;
	width: 100%;
	top: 50%;
	margin-top: -10px;
	text-align: center;
	font-size: 20px;
	color: #fff;
	text-transform: none;
}







/** 09. photo caption
**************************************************************** **/
.btn-dark {
	font-family: 'YakuHanJP',"游ゴシック体", YuGothic, "YuGothic M", sans-serif;
	position: relative;
	background-color: #ffee00;
	color: #0097cf;
	display: block;
	width: 100%;
	line-height: 1.5;
	text-align: center;
	white-space: normal;
	vertical-align: middle;
	border-radius: 0;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 13px;
	padding: 10px 25px 10px 10px;
	-webkit-transition: all .3s ease-out;
	transition: all .3s ease-out;
	/*margin-bottom: 20px;*/
	margin-top: 0px;
}

.btn-dark:after {
	font-family: 'Font Awesome 5 Free';
	content: "\f054";
	font-weight: 600;
	font-size: 1.2em;
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -12px;
}

.btn-dark:hover {
	background-color: #ffe317;
}

.btn-dark.pink_bk {
	background-color: #FBB4AB;
	color: #fff;
}

.btn-dark.pink_bk:hover, .btn-dark.pink_bk::active {
	background-color: #FC8475;
}

.btn-dark.green_bk {
	background-color: #70AD47;
	color: #fff;
}

.btn-dark.green_bk:hover, .btn-dark.green_bk::active {
	background-color: #539D21;
}

.btn-dark.yellow_bk {
	background-color: #FCD966;
	color: #333;
}

.btn-dark.yellow_bk:hover, .btn-dark.yellow_bk::active {
	background-color: #FFCA1C;
}

.btn-dark.orange_bk {
	background-color: #EE940F;
	color: #fff;
}

.btn-dark.orange_bk:hover, .btn-dark.orange_bk::active {
	background-color: #DA7000;
}

.btn-dark.red_bk {
	background-color: #C00100;
	color: #fff;
}

.btn-dark.red_bk:hover, .btn-dark.red_bk::active {
	background-color: #FC0B0A;
}



.contact.orange {
	border:solid #E67E22 2px;
	background-color: #F6C89F;
}

.contact.orange:hover {
	border:solid #E67E22 2px;
	background-color: #F6AE6E;
}

.contact.green {
	border:solid #4C9C17 2px;
}

.contact.purple {
	border:solid #7F84AF 2px;
}


.contact.yellow {
	border:solid #FED627 2px;
	background-color: #fce7bb;
}

.contact.yellow:hover {
	border:solid #FED627 2px;
	background-color: #FFD378;
}

.contact.r10 {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

.contact.r20 {
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}

.under.yellow_underline {/* イエロー */
	border-bottom: solid 2px #FED627;
}


.badge.label-pink {
	background-color: #FF457B;
}
.badge.label-pink[href]:hover, .label-pink[href]:focus {
	background-color: #FF175A;
}


/*===== TOP 緊急連絡ボタン =====*/
.topmenu {
	padding: 0;
	margin: 12px 12px ;
}
.topmenu .btn {
	font-size: 1.5em;
	box-shadow: none;
	line-height: 1.3;
	display: flex;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center;
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
}
.topmenu .label {
	padding: 0.05em 0.5em;
	line-height: 1.5;
	margin-left: 0px;
	margin-right: 5px;
	vertical-align: middle;
}
p.topmenu span.label.label-outline {
	line-height: 1.5;
}
@media (max-width: 768px) {
.topmenu .btn {
	font-size: 1.3em;
	padding: 0.5em 0;
	box-shadow: none;
}
}
/******************ボーダーボタン blue*******************/
.topmenu .btn.btn-blue.btn-square {
	background: repeating-linear-gradient(to top, #5DA8DA, #2690D7, #379CE0 4px, #5BA6D9 3px);
	color:#FFF;
	border: solid 1px #fff;
	outline: solid 3px #3498db;
}
.topmenu .btn.btn-blue.btn-square:hover,.topmenu .btn.btn-blue.btn-square:active,.topmenu .btn.btn-blue.btn-square:active:focus {
	background: repeating-linear-gradient(to top, #2D92D7, #1B70AB, #2D92D7 4px, #338CCA 3px);
	color:#FFF;
	border: solid 1px #fff;
	outline: solid 3px #2D92D7;
	outline-offset: 0px;
}
/******************ボーダーボタン pink*******************/
.topmenu .btn.btn-pink.btn-square {
	background: repeating-linear-gradient(to top, #f95c5f, #f96366, #f9777a 4px, #f95c5f 3px);
	color: #FFF;
	border: solid 1px #fff;
	outline: solid 3px #f97a7c;
}
.topmenu .btn.btn-pink.btn-square:hover,.topmenu .btn.btn-pink.btn-square:active,.topmenu .btn.btn-pink.btn-square:active:focus {
	background: repeating-linear-gradient(to top, #f94d50, #f94d50, #FA676B 4px, #f94d50 3px);
	color:#FFF;
	border: solid 1px #fff;
	outline: solid 3px #f94d50;
	outline-offset: 0px;
}
/******************ボーダーボタン green*******************/
.topmenu .btn.btn-green.btn-square {
	background: repeating-linear-gradient(to top, #56b550, #64C15E, #8CC689 4px, #56b550 3px);
	color: #FFF;
	border: solid 1px #fff;
	outline: solid 3px #56b550;
}
.topmenu .btn.btn-green.btn-square:hover,.topmenu .btn.btn-green.btn-square:active,.topmenu .btn.btn-green.btn-square:active:focus {
	background: repeating-linear-gradient(to top, #4D9D48, #4D9D48, #66BC60 4px, #4D9D48 3px);
	color:#FFF;
	border: solid 1px #fff;
	outline: solid 3px #4C9F46;
	outline-offset: 0px;
}

/******************ボーダーボタン green*******************/
.topmenu .btn.btn-yellow.btn-square {

	background: repeating-linear-gradient(to top, #FFDA4B, #FFDA4B, #FFDA4B 4px, #FFDA4B 3px);
	color: #333;
	border: solid 1px #fff;
	outline: solid 3px #FFDA4B;
}
.topmenu .btn.btn-yellow.btn-square:hover,.topmenu .btn.btn-yellow.btn-square:active,.topmenu .btn.btn-yellow.btn-square:active:focus {
	background: repeating-linear-gradient(to top, #ffd11e, #ffd11e, #ffd11e 4px, #ffd11e 3px);
	color:#333;
	border: solid 1px #fff;
	outline: solid 3px #ffd11e;
	outline-offset: 0px;
}
/******************ボーダーボタン内のラベル*******************/
.topmenu .label-default.label-outline {
	background-color:#fff;
	border: solid 0px #666666;
}
/* apua */
.topmenu .btn-blue .label-default.label-outline {
	color: #2D92D7;
}
/* pink */
.topmenu .btn-pink .label-default.label-outline {
	color: #f94d50;
}
/*===== // TOP 緊急連絡ボタン =====*/




