@charset "UTF-8";

.sp { display:none!important; }
.pc {display:block!important;}



@media screen and (max-width: 768px) {
.pc { display:none!important; }
.pc-only{
	display:none!important;
}
.sp { display:block!important; }
}


/*--------------------------------------------------
  reset
--------------------------------------------------*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  font-weight:normal;/* Yutaka added */
  vertical-align: baseline;
}

body {
  line-height:1.8;
  /*min-width: 1100px;*/
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
font-weight: 500;
	font-size: 18px;
	color: #333;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Yutaka added */
table, tr, th, td, caption {
  vertical-align: middle;
  text-align:left;
}

img {
  vertical-align: top;
  font-size:0;
  line-height: 0;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}
img {
	display: block;
	width: 100%;
}
a {
	display: block;
	text-decoration: none;
	transition-property: all;
	transition: 0.3s linear;
}
a:hover{
	opacity: 0.6;
}

/*----------------------------------------------
mv
-------------------------------------------------*/

/* ヘッダーのスタイル (PC版のデフォルト) */
header {
    width: 100%;
    height: 90px; /* ロゴの高さ50px + 上下マージン20px*2 = 90px */
    background-color: #f8f8f8;
    border-bottom: 1px solid #eee;
    position: relative; /* 子要素のabsolute配置の基準 */
}

/* ロゴ画像のスタイル (PC版のデフォルト) */
.header-logo {
    height: 50px; /* PC版でのロゴの高さ */
    width: auto;
    position: absolute;
    left: 20px; /* 左端から20px */
    top: 50%;
    transform: translateY(-50%); /* 垂直方向中央揃え */
}

/* --- レスポンシブ対応 --- */

/* 画面幅が768px以下の場合に適用 */
@media (max-width: 768px) {
    header {
        height: 60px; /* ロゴの高さ20px + 上下マージン20px*2 = 60px */
    }

    .header-logo {
        height: 30px; /* ロゴの高さ縮小 */
        
    }
}


h1 {
	/*max-width: 1300px;*/
	max-width: 100%;
	margin: auto;
}
/*
.mv .mv-bg {
	width: 100%;
	height: 0;
	margin: 0 auto 0;
	background: url(../images/mv.jpg);
	background: url("../images/mv-img.jpg");
	background-size: 100% auto;
	padding-top: 54.6%;
	padding-top: 39.6%;
	position: relative;
}
.mv .mv-bg .mv-img {
	/*position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	max-width: 1300px;
	margin: 0 auto;
}
*/

/*--mv別パターン--*/
.mv02 .mv-bg {
	height: 700px;
	width: 100%;
	background: url(../images/mv02.webp) bottom;
	background-size: cover;
	position: relative;
}
.mv02 .mv-bg .mv-img {
	position: absolute;
	top: 30px;
	left: 0;
	right: 0;
	max-width: 1020px;
	margin: 0 auto;
}
/*--/mv別パターン--*/

.inner {
	width: 1040px;
	margin: auto;
	padding: 0 20px;
	box-sizing: border-box;
}


/*--sec01--*/

.sec01 {
	margin: 40px 0 0;
	padding: 0 0 40px 0;
}

.midasi {
	display: table;
	margin: 40px auto 60px;
}
.midasi02 {
	display: table;
	margin: 40px auto;
}

.fl01 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.sec01 .l-box {
	width: 58%
}
.sec01 .r-box {
	width: 35%;
}
.sec01 .r-box .sikiri {
	display: table;
	margin: 30px auto 40px;
}

.sec01 dl {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
	margin: 20px 0;
}
.sec01 dl dt {
	margin: 0 30px 0 0;
}

/*--sec02--*/

.sec02 {
	background: url(../images/sec02bg.jpg);
	background-size: 3px 3px;
	padding: 40px 0;
}

.co-box {
	width: 32%;
	border: 2px solid #40af92;
	border-radius: 4px;
	background: #FFF;
}
.co-box h4 {
		background: #40af92;
}
.co-box .co-box-inner {
	padding: 30px 20px;
}
.co-box .co-box-inner h5 {
	display: table;
	margin: auto;
}
.sec02 .arrow {
	display: table;
	margin: 40px auto 0;
}

/*--sec03--*/

.sec03 {
	padding: 40px 0;
}
.bg-box {
	background: #e1f9eb;
	padding: 50px 40px;
}
.bg-box .txt {
	font-size: 14px;
	margin: 24px 0 0;
}
.bg-box .tp-txt {
	text-align: center;
	font-size: 20px;
	margin: 0 0 20px;
}
/* .sec03 .bg-box .fl01 {
	margin: 0 0 24px;
} */

/*--sec04--*/

.sec04 {
	background: url(../images/sec02bg.jpg);
	background-size: 3px 3px;
	padding: 40px 0;
}

.sec04 h4.midasi {
	margin: 0 auto;
}
.sec04 .fl01 .l-txt,
.sec04 .fl01 .img-area {
	margin: 50px 0;
}

/*--sec05--*/

.sec05 {
	padding: 40px 0;
}

.bg-box02 {
	background: #fff;
	padding: 50px 40px;
}
.bg-box02 .co-item {
	margin: 20px auto 15px;
}
.bg-box02 .midasi {
	display: table;
	margin: 0 0 30px;
}

.bg-box03 {
	background: #fff;
}

/*--sec06--*/

.sec06 {
	padding: 40px 0;
}

.sec06 h2 {
	margin: 0 0 40px;
}

/*--foot--*/
.foot {
	padding: 0 0 115px;
}
.foot .ft-txt {
	font-size: 16px;
}
.foot .copy {
	margin: 30px 0 0;
	line-height: 46px;
	font-size: 16px;
	border-top: 1px solid #ccc;
	text-align: center;
}
/*--btn-box--*/

.btn-box {
	width: 100%;
	position: fixed;
	bottom: 0;
	border-top: 8px solid #e97c90;
	background: url(../images/sec02bg.jpg);
	background-size: 3px 3px;
	padding: 18px 0
}


@media screen and (max-width: 768px) {
	
/*----------------------------------------------
mv
-------------------------------------------------*/
	body {
		font-size: 14px;
	}
h1 {
	max-width: 100%;
	width: 100%;
	margin: auto;
}

.mv .mv-bg {
	width: 100%;
	height: 0;
	margin: 0 auto 0;
	background: url(../images/sp-mv.jpg);
	background-size: 100% auto;
	padding-top: 110%;
	position: relative;
}
.mv .mv-bg .mv-img {
	display: none;
}

	
/*--mv別パターン--*/
.mv02 .mv-bg {
	width: 100%;
	height: 0;
	margin: 0 auto 0;
	background: url(../images/sp-mv02.webp?2404);
	background-size: 100% auto;
	padding-top: 136%;
	position: relative;
}
.mv02 .mv-bg .mv-img {
	display: none;
}
/*--/mv別パターン--*/
	
.inner {
	width: 100%;
	margin: auto;
	padding: 0 15px;
	box-sizing: border-box;
}
	
	/*--sec01--*/

.sec01 {
	margin: 30px 0 0;
}

.midasi {
	display: block;
	width: 100%;
	margin: 20px auto 30px;
}
.midasi02 {
	display: block;
	width: 100%;
	margin: 20px auto;
}

.fl01 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.sec01 .l-box {
	width: 100%;
	margin: 0 0 30px;
}
.sec01 .r-box {
	width: 100%;
}
.sec01 .r-box .sikiri {
	display: table;
	margin: 30px auto 40px;
}
	.sec01 .r-box .sikiri img {
		width: 50%;
	}

.sec01 dl {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	margin: 20px 0;
}
.sec01 dl dt {
	width: 100%;
	margin: 15px 0 10px;
}
	
/*--sec02--*/

.sec02 {
	background: url(../images/sec02bg.jpg);
	background-size: 3px 3px;
	padding: 30px 0;
}

.co-box {
	width: 100%;
	border: none;
	border-radius: 4px;
	background: none;
}
.co-box h4 {
	background: none;
	margin: 0 0 20px;
}
.co-box .co-box-inner {
	padding: 10px 20px;
}
.co-box .co-box-inner h5 {
	display: table;
	margin: auto;
}
.sec02 .arrow {
	display: table;
	margin: 10px auto 0;
}

	/*--sec03--*/

.sec03 {
	padding: 30px 0;
}
.bg-box {
	background: #e1f9eb;
	padding: 20px 10px;
}
.bg-box .txt {
	font-size: 12px;
	margin: 24px 0 0;
}
.bg-box .tp-txt {
	text-align: center;
	font-size: 14px;
	margin: 0 0 20px;
}
/* .sec03 .bg-box .fl01 {
	margin: 0 0 24px;
} */
	.sec03 .bg-box .fl01 .img-box {
		width: 48%;
		margin: 0 0 10px;
	}
	/*--sec04--*/

	.sec04 {
		padding: 10px 0;	
	}

.sec04 h4.midasi {
	margin: 0 auto;
}
.sec04 .fl01 .l-txt,
.sec04 .fl01 .img-area {
	margin: 30px 0;
}
	.sec04 .fl01 .img-area {
		order: 1;
	}
	.sec04 .fl01 .l-txt {
		order: 2;
	}
	.sec04 .fl01 .l-box {
		margin: 15px 0;
	}
/*--sec05--*/

.sec05 {
	background: url(../images/sec02bg.jpg);
	background-size: 3px 3px;
	padding: 30px 0;
}

.bg-box02 {
	background: #fff;
	padding: 20px 10px;
}
.bg-box02 .co-item {
	margin: 20px auto 15px;
}
.bg-box02 .midasi {
	display: table;
	margin: 0 0 30px;
}
/*--foot--*/
.foot {
	border-top: 1px solid #ccc;
	padding: 30px 0 28%;
}
	.foot .logo {
		width: 50%;
		margin: 0 auto 15px;
	}
.foot .ft-txt {
	font-size: 11px;
}
.foot .copy {
	margin: 30px 0 0;
	line-height: 46px;
	font-size: 11px;
	border-top: 1px solid #ccc;
	text-align: center;
}
	/*--btn-box--*/

.btn-box {
	width: 100%;
	position: fixed;
	bottom: 0;
	border-top: 4px solid #e97c90;
	background: url(../images/sec02bg.jpg);
	background-size: 3px 3px;
	padding: 18px 0
}
	.btn-box .btn {
		width: 80%;
		margin: 10px auto 0;
	}


.tab_content .img-box {
	width: 48%;
	margin: 0 0 10px;

}
	
}

.img-box {
	margin-bottom: 20px;
}



.tab_container {
  padding-bottom: 1em;
  margin: 0 auto;
 }
.tab_item {
  width: calc(100%/3);
  padding:15px 0;
  border-bottom: 3px solid #09a182;
  background-color: #ececec;
  text-align: center;
  color: #aaa ;
  display: block;
  font-size:22px;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
}
.tab_item:hover {
  opacity: 0.85;
	cursor: pointer;
}
input[name="tab_item"] {
  display: none;
}
.tab_content {
  display: none;
  padding: 1em 1em 0;
  clear: both;
  overflow: hidden;
}
#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content,
#tab4:checked ~ #tab4_content {
  display: block;
}
.tab_container input:checked + .tab_item {
  background-color: #37beb0;
  color: #fff;
}


.contents_info {
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	
	padding:30px;
}

.contents_info_box {
	/*background: url(../images/sec02bg.jpg);*/
	background-size: 3px 3px;
	width: calc((100% - 50px)/2);
}

.contents_info_lead{
	color: #09a182;
	font-size:14px;
	font-weight:bold;
	text-align:center;
	margin:20px 20px;
}

.contents_info_text {
	padding: 10px 5px;
}

.contents_bottom_img_area{
    margin-top: 10px;
}

.contents_bottom_img{
    margin:0 auto;
    width: 80%;
}

@media screen and (max-width: 768px) {
	.contents_info_box {
	/*background: url(../images/sec02bg.jpg);*/
	background-size: 3px 3px;
	width: 100%;
}
	.tab_item {
		font-size: 12px;
	}
    
    .contents_bottom_img{
    margin:0 auto;
    width: 95%;
}
	
}

/* 24.4.add */
.mv-img {
	position: relative;
}

.mv-img ul {
	position: absolute;
	left: 50%;
	bottom: 10px;
	display: flex;
	justify-content: space-between;
	width: 95%;
	transform: translateX(-50%);
}

.mv-img li {
	width: calc(97%/3);
}

.midasi_line {
	text-align: center;
}

h3.midasi_line {
	font-size: 28px;
}

h4.midasi_line {
	margin: 0 auto 20px;
	font-weight: bold;
}

.midasi_line span {
	display: inline;
	line-height: 1.2;
	font-feature-settings: "palt";
	font-weight: bold;
}

.midasi_line span.strong {
	font-size: 150%;
}

.midasi_line span.bold {
	font-weight: bold;
}

.midasi_line span.line {
	padding: 0 10px;
	background: linear-gradient(transparent 60%, #fff45d 60%);
}

.midasi_line strong {
	font-weight: bold;
	font-size: 120%;
}

.contents_bottom_img_area {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 40px;
	font-weight: bold;
	font-feature-settings: "palt";
}

.contents_bottom_img_area img {
	width: 105px;
	margin: 0 20px 0 0;
}

.midasi_fukidashi {
	text-align: center;
	font-size: 110%;
	font-feature-settings: "palt";
}

.midasi_fukidashi span {
	display: inline-block;
	padding: 0 50px;
	font-weight: bold;
	background:
		url(../images/icon_l.png) no-repeat left bottom 5px,
		url(../images/icon_r.png) no-repeat right bottom 5px;
	background-size: auto 80%;
}

.midasi_fukidashi span.line {
	display: inline;
	padding: 0 10px;
	background: linear-gradient(transparent 60%, #fff45d 60%);
}

.sec02 .fl01,
.sec04 .fl01 {
	display: flex;
}

.sec02 .fl01 .l-txt,
.sec02 .fl01 .img-area,
.sec04 .fl01 .l-txt,
.sec04 .fl01 .img-area {
	width: 50%;
}

.sec02 .fl01 .l-txt,
.sec04 .fl01 .l-txt {
	padding: 0 5% 0 0;
	box-sizing: border-box;
}

.sec02 .fl01 .l-txt p,
.sec04 .fl01 .l-txt p {
	margin: 10px 0;
	font-size: 95%;
}

.sec02 .fl01 .l-txt li,
.sec04 .fl01 .l-txt li {
	font-weight: bold;
	color: #40af92;
}

.sec03 .fl01 {
	margin-top: 30px;
	padding: 3% 8%;
	background-color: #fff;
	box-sizing: border-box;
}

.sec03 .fl01 p {
	text-align: justify;
}

.sec03 .fl01 strong {
	color: #40af92;
	font-weight: bold;
}

.link_arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 15px auto 50px;
	color: #40af92;
	font-weight: bold;
}

.link_arrow img {
	width: 26px;
	margin-right: 5px;
}

.sec05 .inner div* {
	box-sizing: border-box;
}

.sec05 .inner div {
	position: relative;
	padding: 5%;
	border: solid 2px #40af92;
	border-radius: 10px;
}

.sec05 .inner div img {
	position: absolute;
	right: 30px;
	bottom: 0;
	width: 510px;
}

.sec05 .inner div li {
	position: relative;
	padding-left: 30px;
	font-size: 28px;
	font-weight: bold;
}

.sec05 .inner div li::before {
	content: '●';
	position: absolute;
	left: 0;
	top: 8px;
	font-size: 20px;
	color: #e67d8e;
}

.sec05 .inner div li strong {
	font-weight: bold;
	color: #40af92;
}


@media screen and (max-width: 768px) {

	.mv02 .mv-bg {
		position: relative;
	}

	.mv02 .mv-bg .mv-img {
		top: 0;
		display: block;
		height: 94%;
	}
	
	.mv02 .mv-bg .mv-img ul {
		flex-direction: column;
		width: 75%;
	}
	
	.mv02 .mv-bg .mv-img li {
		width: 100%;
		margin-bottom: 10px;
	}

	h3.midasi_line {
		font-size: 4vw;
	}

	h4.midasi_line {
		margin: 0 auto 20px;
	}

	.midasi_line span.line {
		padding: 0 10px;
	}

	.midasi_line span.strong {
		font-size: 140%;
	}

	.contents_bottom_img_area {
		font-size: 4vw;
	}

	.contents_bottom_img_area img {
		width: 20%;
		margin: 0 10px 0 0;
	}

	.midasi_fukidashi {
		padding: 0 3%;
		box-sizing: border-box;
	}
	
	.midasi_fukidashi span:first-child {
		width: 100%;
		padding: 0 5%;
		box-sizing: border-box;
	}

	.midasi_fukidashi span {
		background-size: auto 50px;
	}

	.sec02 .fl01.fl01_flex,
	.sec04 .fl01.fl01_flex {
		display: flex;
		flex-direction: column;
		padding: 0 3%;
		box-sizing: border-box;
	}

	.sec02 .fl01.fl01_flex .l-txt,
	.sec02 .fl01.fl01_flex .img-area,
	.sec04 .fl01.fl01_flex .l-txt,
	.sec04 .fl01.fl01_flex .img-area {
		width: 100%;
	}

	.sec02 .fl01.fl01_flex .l-txt,
	.sec04 .fl01.fl01_flex .l-txt {
		padding: 2.5% 0;
	}

	.sec03 .fl01 {
		margin-top: 15px;
		padding: 3%;
	}

	.link_arrow img {
		width: 20px;
	}

	.sec04 .fl01 .l-txt {
		margin: 0;
		padding: 0;
	}

	.sec05 .inner div {
		padding: 3%;
		overflow: hidden;
	}
	
	.sec05 .inner div img {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 45%;
	}

	.sec05 .inner div ul {
		position: relative;
		z-index: 1;
	}

	.sec05 .inner div li {
		padding-left: 15px;
		font-size: 3.5vw;
	}

	.sec05 .inner div li::before {
		top: 5px;
		font-size: 2.4vw;
	}

	.sec05 .inner div li strong {
		font-weight: bold;
		color: #40af92;
	}
}