@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
	font-size: 160%;
	-webkit-text-size-adjust: none;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
h1 {
}
/* Header内で設定 */
h2 {
}
h3 {
}
h4 {
}
a {
	color: #cd914e;
}
a:hover, a:active {
	text-decoration: none;
}
a:visited {
}
ul {
}
li {
}
dl {
}
dt {
}
dd {
}
table {
	width: 100%
}
th, td {
}
th {
}
td {
}
p {
	margin-bottom: 2em;
}
p:last-child {
	margin-bottom: 0;
}
p, dt, dd, td, th, li {
	line-height: 2em;
}
.image_l {
	float: left;
	margin: 0 15px 15px 0;
}
.image_r {
	float: right;
	margin: 0 0 15px 15px;
}
#toTop {
	border: none;
	bottom: 55px;
	cursor: pointer;
	display: none;
	overflow: hidden;
	position: fixed;
	right: 50px;
	text-decoration: none;
	margin: 0;
	z-index: 5;
}
#toTop:hover {
	opacity: 0.8;
}
/* Box sizing rules */
#index *, #index *::before, #index *::after {
	box-sizing: border-box;
	outline: none;
}
/* add
------------------------------------------------------------------------*/
/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html {
	background: none;
}
body {
	color: #3f3f3f;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
#wrapper {
	max-width: 2000px;
	min-width: 1020px;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.inner {
	margin: 0 auto;
}
.box_flex {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	align-items: center;
}
.flex_center {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.flex_space {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	flex-wrap: wrap;
}
.flex_end {
	display: flex;
	display: -webkit-flex;
	align-items: flex-end;
	justify-content: flex-end;
	-webkit-justify-content: flex-end;
	flex-wrap: wrap;
}
/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/
#index #content {
	background: #fff;
	position: relative;
	z-index: 2;
}
#header {
	position: relative;
	z-index: 5;
}
#header #head_top {
	position: absolute;
	z-index: 5;
	width: 100%;
	top: 0;
	left: 0;
}
#header #head_top.active {
	position: fixed;
	top: -200px;
	background: rgba(255, 255, 255, 1);
	animation: head_fix 0.3s ease-out;
	-webkit-animation-fill-mode: forwards; /* Safari 4.0 - 8.0 */
	animation-fill-mode: forwards;
}
#head_top .inner {
	width: 100%;
}
@keyframes head_fix {
 0% {
 top: -100px;
}
 100% {
 top: 0;
}
}
@-webkit-keyframes head_fix {
 0% {
 top: -100px;
}
 100% {
 top: 0;
}
}
#head_top #logo {
	margin: 0;
}
#head_top .box_h1 {
	width: fit-content !important;
	max-width: 500px;
	position: absolute;
}
#head_top h1 {
	font-size: 12px;
	line-height: 1.2em;
	padding: 15px 20px 0;
}
#head_top .contact_btn {
	width: 617px;
	padding-top: 20px;
	padding-right: 68px;
}
.contact_btn {
	display: flex;
	display: -webkit-flex;
}
.contact_btn li {
	height: 80px;
	line-height: 1;
}
.contact_btn li a {
	width: 100%;
	height: 100%;
	text-decoration: none;
	text-align: center;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	border-radius: 8px;
	line-height: 1.4em;
}
.contact_btn .tel_button {
	width: 280px;
	margin-right: 10px;
}
#head_top .contact_btn .tel_button a {
	background: #fff;
}
.contact_btn .tel_button a {
	padding: 15px 0 10px;
}
.contact_btn .tel_button span {
	font-size: 15px;
	color: #00ADA6;
	display: inline-block;
	line-height: 1;
	padding-left: 5px;
}
.contact_btn .tel_button .number {
	font-family: 'Roboto', sans-serif;
	font-size: 33px;
	color: #3F3F3F;
	background: url(../images/icon_tel01.png) left center no-repeat;
	background-size: 15px auto;
	padding-left: 18px;
	word-break:keep-all;
	font-weight: 500;
}

.contact_btn .web_button{
	margin-right: 10px;
}

.contact_btn .web_button, .contact_btn .line_button {
	width: 200px;
}
.contact_btn .web_button a, .contact_btn .line_button a {
	background: url(../images/arrow01.png) right 20px center no-repeat #F29600;
	background-size: 8px auto;
	color: #fff;
	padding: 15px 0 18px;
	letter-spacing: 0.08em;
}

.contact_btn .line_button a {
	background: url(../images/arrow01.png) right 20px center no-repeat #28b328;
	background-size: 8px auto;
	color: #fff;
	padding: 15px 0 18px;
	letter-spacing: 0.08em;
}

.contact_btn .web_button span, .contact_btn .line_button span {
	display: block;
	font-weight: 500;
	font-size: 15px;
	width: 100%;
}
.contact_btn .web_button span:nth-child(2) {
	display: block;
	font-size: 18px;
}
#index #top_info {
	position: relative;
	z-index: 1;
}
#index #top_info .inner {
	height: 937px;
}
.box_slider {
	position: absolute;
	z-index: -1;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	width: 2000px;
	height: 937px;
	overflow: hidden;
}
.box_slider .slick-slide {
	height: 937px;
	overflow: hidden;
}
.box_slider .slider01 {
	background: url(../images/slider01.png) center center no-repeat;
	background-size: cover;
}
.box_slider .slider02 {
	background: url(../images/slider02.png) center center no-repeat;
	background-size: cover;
}
.box_slider li {
	width: 100%;
	height: 937px;
	-webkit-transition: transform 2s cubic-bezier(1, 0, 1, 0);
	-webkit-transition: -webkit-transform 2s cubic-bezier(1, 0, 1, 0);
	transition: -webkit-transform 2s cubic-bezier(1, 0, 1, 0);
	transition: transform 2s cubic-bezier(1, 0, 1, 0);
	transition: transform 2s cubic-bezier(1, 0, 1, 0), -webkit-transform 2s cubic-bezier(1, 0, 1, 0);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
	will-change: transform;
}
.box_slider .slick-current li {
	-webkit-transition: transform 10s linear;
	-webkit-transition: -webkit-transform 10s linear;
	transition: -webkit-transform 10s linear;
	transition: transform 10s linear;
	transition: transform 10s linear, -webkit-transform 10s linear;
	-webkit-transform: scale(1.15);
	-moz-transform: scale(1.15);
	-ms-transform: scale(1.15);
	-o-transform: scale(1.15);
	transform: scale(1.15);/*animation:box_slider 6s linear;*/
}
@keyframes box_slider {
 0% {
 transform:scale(1.05, 1.05);
}
100% {
 transform:scale(1, 1);
}
}
@-webkit-keyframes box_slider {
 0% {
 transform:scale(1.05, 1.05);
}
100% {
 transform:scale(1, 1);
}
}
.info_main {
	display: flex;
	display: -webkit-flex;
	align-items: flex-end;
	flex-wrap: wrap;
	height: 100%;
}
.info_main .info_right {
	position: absolute;
	right: 0;
	bottom: 80px;
}
.main_news {
	position: relative;
	z-index: 1;
	margin-bottom: 20px;
	width: 572px;
	height: 50px;
	background: rgba(255,255,255,0.9);
	border-radius: 25px;
}
.main_news dt {
	position: absolute;
	top: -24px;
	left: -38px;
	width: 91px;
	height: 39px;
	background: url(../images/icon_news.png) no-repeat;
	background-size: 100% 100%;
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	font-family: 'Roboto', sans-serif;
	letter-spacing: 0.1em;
}
.main_news dd {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	height: 100%;
	line-height: 1;
	padding: 0 40px;
	overflow:hidden;
	background:url(../images/arrow02.png) right 30px center no-repeat;
	background-size:8px auto;
}
.main_news dd ul, .main_news dd ul li {
	width:100%;	
}
.main_news dd li {
	display: flex !important;
	display: -webkit-flex !important;
}

.main_news dd .slick-slide {
	margin-right:40px;	
}
.main_news dd li span {
	width:110px;
	color: #00ADA6;
	font-weight: 700;
	letter-spacing:0.05em;
	font-size:17px;
	flex-shrink:0;
}
.main_news dd li a {
	font-size:17px;
	width:calc(100% - 110px);
	text-decoration: none;
	color: #3f3f3f;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	display:block;
	
}
.info_main .info_left {
	padding-bottom: 83px;
	margin-left: -65px;
}
.time_work {
	background: url(../images/bg_repeat01.png) repeat;
	display: flex;
	display: -webkit-flex;
	border-radius: 30px 0 0 30px;
	transition: 0.5s all;
}
.time_work.active {
	transform: translateX(calc(100% - 78px));
	position: fixed;
	top: 140px;
	right: 0;
	transition: 0.5s all;
}
.time_work.active:hover {
	transform: translateX(0);
}
.time_work dt {
	background: #00ADA6;
	color: #fff;
	border-radius: 30px 0 0 30px;
	width: 78px;
	flex-shrink: 0;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	padding-bottom: 12px;
	cursor: default;
}
.time_work dt span {
	display: inline-block;
	word-break: break-all;
	font-size: 24px;
	width: 32px;
	background: url(../images/icon_cal.png) center top no-repeat;
	background-size: 28px auto;
	padding: 38px 5px 0;
	line-height: 1.15em;
}
.time_work dd {
	height: 288px;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	flex-wrap: wrap;
	width: 562px;
	flex-shrink: 0;
	padding: 20px 30px 25px 15px;
}
.tbl_calendar span {
	display: block;
	margin-top:8px;
	font-weight:500;
}
.tbl_calendar span a {
	display: block;
	margin-top: 10px;
	background: url(../images/icon_map.png) left center no-repeat;
	background-size: 13px auto;
	padding-left: 16px;
	font-weight: 500;
	letter-spacing: 0.07em;
	text-decoration:none;
	color:#3F3F3F;
}

.time_work dd .tbl_calendar {
	margin-bottom: 0;
	line-height: 1;
}
.time_work .contact_btn li {
	height: 66px;
}
.time_work .contact_btn .tel_button {
	width: 235px;
}
.time_work .contact_btn .tel_button a {
	padding-top:10px;
}
.time_work .contact_btn .tel_button span {
	font-size: 14px;
}
.time_work .contact_btn .tel_button .number {
	font-size: 20px;
    padding-left: 16px;
    padding-top: 5px;
    background-position: left 5px;
}
.time_work .contact_btn .web_button{
	width: unset
}

.time_work .contact_btn .line_button{
	width: 190px;
}

.time_work .contact_btn .web_button a, .time_work .contact_btn .line_button a {
	padding: 8px 0 13px;
	background-position: right 15px center;
}
.time_work .contact_btn .web_button span {
	font-size: 14px;
}
.time_work .contact_btn .web_button span:nth-child(2) {
	font-size: 14px;
}
.info_main h2 {
	position: relative;
	z-index: 1;
	margin-bottom: 24px;
}
.info_main h2 span i {
	font-style: normal;
}
.info_main h2 .h2_jp {
	font-size: 60px;
	font-weight: 700;
	color: #3F3F3F;
	line-height: 1.4em;
	letter-spacing: 0.02em;
}
.info_main h2 .h2_jp i {
	color: #00ADA6;
}
.info_main h2 .h2_en {
	font-family: 'Caveat', cursive;
	font-size: 172px;
	color: #9ED6D2;
	position: absolute;
	bottom: -120px;
	right: -148px;
	transform: rotate(-5deg);
	line-height: 1;
	letter-spacing: -0.05em;
}
.info_main h2 .h2_en i {
	color: #00ADA6;
}
.info_main .info_txt {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.8em;
}
.info_main .info_txt span {
	display: inline-block;
	border-bottom: #00ADA6 2px solid;
	padding-bottom: 5px;
	line-height: 1;
}
.head_fix {
	background: #fff;
	transition: 0.5s all;
}
.head_fix.active {
	position: fixed;
	z-index: 4;
	left: 0;
	width: 100%;
	transition: 0.5s all;
	animation: head_fix 0.3s ease-out;
	-webkit-animation-fill-mode: forwards; /* Safari 4.0 - 8.0 */
	animation-fill-mode: forwards;
}
 @keyframes head_fix {
 0% {
 top:-100px;
}
100% {
 top:0;
}
}
@-webkit-keyframes head_fix {
 0% {
 top:-100px;
}
100% {
 top:0;
}
}
.head_fix .inner {
	width: 100%;
	position: relative;
	z-index: 1;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
}
.head_fix.active .inner {
	justify-content: space-between;
	-webkit-justify-content: space-between;
}
.head_fix .contact_btn .web_button a, .head_fix .contact_btn .line_button a {
	border-radius: 0;
}
.head_fix .head_logo {
	margin-bottom: 0;
	display: none;
}
.head_fix.active .head_logo {
	display: block;
	padding-left: 20px;
}
.head_fix .contact_btn {
	display: none;
}
.head_fix.active .contact_btn {
	display: flex;
	margin-left: 20px;
}
.head_fix .contact_btn .tel_button {
	width: 230px;
	margin-right: 13px;
}
.head_fix .contact_btn .tel_button a {
	padding-top:10px;	
}
#gnavi {
}
#gnavi .menu_main {
	display: flex;
	display: -webkit-flex;
	font-weight: normal;
}
#gnavi .menu_main > li {
	text-align: center;
}
#gnavi .menu_main > li > a {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	height: 80px;
	text-decoration: none;
	line-height: 1.4em;
	font-size: 18px;
	color: #3F3F3F;
	position: relative;
	z-index: 1;
}
.head_fix.active #gnavi .menu_main > li > a {
	padding: 0;
	width: 100%;
}
#gnavi .menu_main > li > a:after, #gnavi .menu_main > li:last-child > a:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 100%;
	height: 22px;
	border-left: #AFAFB0 1px solid;
}
#gnavi .menu_main > li:last-child > a:before {
	border-right: #AFAFB0 1px solid;
	border-left: none;
}
#gnavi .menu_main li span {
	display: inline-block;
	padding-left: 20px;
	font-weight: 700;
	background: url(../images/arrow02.png) left center no-repeat;
	background-size: 8px auto;
	position: relative;
	z-index: 1;
}
#gnavi .menu_main li.sub > a {
	cursor:default;	
}
#gnavi .menu_main li.sub span:after {
	content: '';
	display: none;
	position: absolute;
	bottom: -27px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 8px 12px 8px;
	border-color: transparent transparent #00ADA6 transparent;
	transition: 0.3s all;
}
#gnavi .menu_main li.sub.active span:after {
	display: block;
}
#gnavi .menu_main .menu_sub {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	justify-content: center;
	-webkit-justify-content: center;
	position: absolute;
	z-index: 10;
	width: 1200px;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	padding: 37px 0 10px;
	opacity: 0;
	overflow: visible;
	transition: 0.3s all;
	pointer-events: none;
}
#gnavi .menu_main .sub.active .menu_sub {
	opacity: 1;
	overflow: inherit;
	pointer-events: inherit;
}
#gnavi .menu_main .menu_sub:before {
	position: inherit;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(0,173,166,0.97);
	width: 2500px;
	height: 100%;
	content: '';
	display: block;
	z-index: -1;
}
#gnavi .menu_main .menu_sub li {
	margin-bottom: 30px;
	width: 260px;
	text-align: center;
	margin-right: 53px;
}
#gnavi .menu_main .menu_sub li:last-child, #gnavi .menu_main .menu_sub li.last {
	margin-right: 0;
}
#gnavi .menu_main .menu_sub li.menu_3col {
	width: 360px;
}
#gnavi .menu_main .menu_sub a {
	font-size: 17px;
	width: 100%;
	text-decoration: none;
	box-sizing: border-box;
	color: #fff;
	display: block;
	line-height: 1.4em;
	padding-bottom: 5px;
	border-bottom: rgba(255,255,255,0.6) 1px solid;
}
#gnavi .menu_main li.last i {
	position: absolute;
	top: -47px;
	left: 20px;
	font-style: normal;
	font-size: 14px;
	font-weight: 300;
	color: #fff;
	background: url(../images/icon_note.png) center center no-repeat;
	background-size: 100% auto;
	width: 100px;
	height: 42px;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	padding-bottom: 3px;
}
.head_fix.active #gnavi .menu_main li.last i {
	background: none;
	color: #00ADA6;
	display: block;
	position: relative;
	top: 0;
	left: auto;
	width: auto;
	height: auto;
	line-height: 1;
	padding-bottom: 0;
}
/*==========================================================================*/
/*                               Content                                     */
/*==========================================================================*/
#index h3 {
	font-weight: 700;
	margin-bottom: 12px;
}
#index h3 span {
	display: block;
}
#index h3 .h3_en {
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	color: #F29600;
	display: block;
	margin-bottom: 27px;
	font-weight: 500;
	letter-spacing: 0.1em;
}
#index h3 .h3_min {
	font-size: 30px;
	line-height: 1;
	margin-bottom: 18px;
}
#index h3 .h3_max {
	font-size: 56px;
	line-height: 1.4em;
}
#index h3 .h3_max i {
	font-style: normal;
	color: #00ADA6;
}
#index h4 {
	font-weight: 700;
	font-size: 40px;
	line-height: 1.7em;
	letter-spacing: 0.03em;
	margin-bottom: 16px;
}
#index h4 span {
	color: #00ADA6;
}
.common_btn01 {
	width: 264px;
	margin-left: auto;
	margin-right: auto;
	font-weight: 400;
}
.common_btn01.mar_left {
	margin-left: 0;
}
.common_btn01.mar_right {
	margin-right: 0;
}
.common_btn01 a {
	font-size: 16px;
	width: 100%;
	text-decoration: none;
	color: #fff;
	background: url(../images/arrow01.png) right 20px center no-repeat #00ADA6;
	background-size: 8px auto;
	height: 62px;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	text-align: center;
	padding: 0 25px;
	position: relative;
	z-index: 1;
	border-radius: 8px;
	transition: 0.2s all;
	font-weight: 500;
	letter-spacing: 0.03em;
}
.link_hover a {
	position: relative;
	z-index: 1;
	text-decoration: none;
	color: #66533d;
}
.btn_close {
	font-size: 16px;
	width: 240px;
	margin: 30px auto 0;
	text-decoration: none;
	color: #fff;
	background: url(../images/icon_x.png) right 20px center no-repeat #F29600;
	background-size: 10px auto;
	height: 40px;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	text-align: center;
	padding: 0 25px;
	border-radius: 8px;
	transition: 0.5s all;
	font-weight: 500;
	letter-spacing: 0.03em;
}
/*--- 01 ---*/
#index_sec01 {
	background: #DFF2F0;
	padding: 120px 0 0;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#index_sec01:before {
	position: absolute;
	z-index: -1;
	left: calc(50% - 1085px);
	bottom: -385px;
	width: 994px;
	height: 994px;
	border-radius: 50%;
	background: #fff;
	content: '';
	display: block;
}
.sec01_inner01 {
	margin-bottom: 40px;
}
.sec01_img {
	float: right;
	margin: 0 -217px 0 0;
}
.sec01_circle {
	width: 523px;
	margin: -20px 60px 0 0;
	float: left;
	text-align: center;
	position: relative;
}
.sec01_circle .circle01 {
}
.sec01_circle .circle02 {
	float: left;
	margin: -55px -56px 0 0;
}
.sec01_circle .circle03 {
	float: right;
	margin: -55px 0 0 -56px;
}
.sec01_circle .circle_txt {
	font-family: 'Caveat', cursive;
	font-size: 172px;
	color: #BFE4E0;
	position: relative;
	bottom: 45px;
	left: -180px;
	transform: rotate(-5deg);
	line-height: 1;
	letter-spacing: -0.03em;
}
.sec01_inner02 .common_btn01 {
	margin-top: 50px;
}
.sec01_inner02 h4 {
	display: inline-block;
}
.sec01_txt {
	width: 612px;
	float: right;
}
#main .blue {
	color: #00ADA6;
}
/*--- 02 ---*/
#index_sec02 {
	background: url(../images/bg_sec02.png) center top no-repeat;
	padding: 150px 0 117px;
}
#index_sec02 h3 {
	text-align: center;
	margin-bottom: 50px;
}
#index_sec02 h3 .h3_min {
	font-size: 36px;
}
#index_sec02 h4 {
	font-size: 25px;
	line-height: 1.3em;
	display: block;
	margin-bottom: 35px;
}
#index_sec02 .stype_3row h4 {
	margin-bottom:13px;	
}
#index_sec02 h4 span {
	font-size: 30px;
}
#index_sec02 .box_flex {
	margin-bottom: 70px;
	padding-left:20px;
}
.sec02_inner {
	width: 280px;
	height: 280px;
	border-radius: 20px;
	background: url(../images/bg_repeat01.png) repeat;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	text-align: center;
	flex-direction: column;
	position: relative;
	z-index: 1;
	margin-bottom: 10px;
	margin-right: 10px;
	cursor: pointer;
	overflow: hidden;
}
.sec02_inner.mar_0, .sec02_inner:last-child {
	margin-right: 0;
}
.sec02_inner.sec02_box02 {
	margin-left: 290px;
}
.sec02_inner.sec02_box03 {
	margin-left: 580px;
}
.sec02_inner.last {
	display: none;
}
.sec02_inner .sec02_num {
	width: 60px;
	height: 60px;
	color: #fff;
	background: #F29600;
	border-radius: 50%;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	text-align: center;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	font-size: 26px;
	margin-bottom: 20px;
}
.sec02_inner.stype_3row .sec02_num {
	margin-bottom: 10px;
}
.sec02_inner .sec02_txt {
	font-size:15px;
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	background: url(../images/bg_repeat01.png) repeat;
	padding: 25px;
	text-align: left;
	transition: 0.5s all;
	opacity: 0;
}
.sec02_inner .read_more {
	margin-bottom: 0;
	line-height: 1;
}
.sec02_inner .read_more a {
	text-decoration:none;
	color: #AFAFB0;	
}
.sec02_inner .read_more span {
	
	font-size: 15px;
	font-weight: 500;
	font-family: 'Roboto', sans-serif;
	letter-spacing: 0.05em;
	padding-right: 20px;
	background: url(../images/arrow02.png) right center no-repeat;
	background-size: 8px auto;
}
/*--- 03 ---*/
#index_sec03 {
	background: url(../images/bg_sec03.png) center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
	padding: 80px 0;
	color: #fff;
}
#index_sec03 h3 {
	margin-bottom: 22px;
}
#index_sec03 h3 .h3_en {
	color: #fff;
	font-weight: 500;
	margin-bottom: 20px;
}
.sec03_img {
	float: left;
	margin: 0 0 0 -55px;
}
.sec03_inner {
	width: 630px;
	float: right;
	padding-top: 20px;
}
.sec03_inner .common_btn01 {
	display: flex;
	display: -webkit-flex;
	justify-content: flex-start;
	-webkit-justify-content: flex-start;
	flex-wrap: wrap;
	width: 100%;
}
.sec03_inner .common_btn01 li {
	width: 264px;
}
.sec03_inner .common_btn01 li:not(:last-child) {
	margin-right: 25px;
}
.sec03_inner .common_btn01 li a {
	background: url(../images/arrow02.png) right 20px center no-repeat #fff;
	background-size: 8px auto;
	color: #00ADA6;
	border:#fff 1px solid;
}
.sec03_txt {
	margin-bottom: 60px;
}
.sec03_txt p {
	font-weight: 300;
	margin-bottom: 18px;
}
.sec03_txt p:last-child {
	margin-bottom: 0;
}
/*--- 04 ---*/
#index_sec04 {
	padding: 133px 0 147px;
	background: url(../images/bg_sec04.png) center bottom no-repeat;
}
#index_sec04 h3 {
	margin-bottom: 35px;
}
.sec04_img {
	float: right;
	margin: 0 -272px 0 0;
}
.sec04_inner {
	width: 600px;
}
.sec04_txt {
	margin-bottom: 66px;
	font-weight: 700;
	letter-spacing: 0.16em;
}
/*--- 05 ---*/
#index_sec05 {
	background: url(../images/bg_sec05.png) center center no-repeat #DFF2F0;
	background-size: cover;
	padding: 100px 0 0;
}
#index_sec05 h3 {
	margin-bottom: 55px;
}
#index_sec05 h3 .h3_min, #index_sec05 h3 .h3_en {
	display: inline-block;
	letter-spacing: 0.1em;
}
#index_sec05 h3 .h3_en {
	margin-left: 10px;
}
.sec05_inner01 {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: center;
}
.sec05_txt {
	width: 730px;
	margin-top: -48px;
	font-weight: 700;
}
.sec05_list01 {
	margin-bottom:20px;
}
.sec05_list01 li {
	margin-bottom: 20px;
	width: 485px;
	height: 68px;
}
.sec05_list01 li a {
	width: 100%;
	height: 100%;
	border-radius: 34px;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	text-align: center;
	position: relative;
	z-index: 1;
	font-size: 24px;
	font-weight: 700;
	background: #F5FBFA;
	padding-bottom: 7px;
	text-decoration:none;
	color:#3f3f3f;
}
.sec05_list01 li a span {
	font-size: 30px;
	color: #00ADA6;
}
.sec05_list01 li a:before {
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	border: #00ADA6 2px solid;
	position: absolute;
	top: -5px;
	left: -5px;
	border-radius: 34px;
	z-index: -1;
}
.sec05_list01 li:last-child {
	margin-bottom: 0;
}
.sec05_list02 {
	width: 1230px;
	margin: -55px -630px 0 72px;
}
.sec05_list02 .slick-slide {
	margin-right: 10px;
}
.sec05_list02 li:last-child {
	margin-right: 0;
}
.sec05_list02 li img {
	border-radius: 20px;
}
.sec05_inner02 .sec05_note {
	font-family: 'Caveat', cursive;
	font-size: 172px;
	color: #DFF2F0;
	position: relative;
	top: -130px;
	left: -128px;
	transform: rotate(-5deg);
	line-height: 1;
	margin-bottom: -70px;
}
/*==========================================================================*/
/*                               Footer                                     */
/*==========================================================================*/
#footer {
	background: #fff;
}
.footer01 {
	padding-top: 295px;
	background: url(../images/bg_footer01.png) center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
.footer01 .inner {
	width: 1000px;
	height: 236px;
	margin: -118px auto;
	color: #fff;
	background: #00ADA6;
	position: relative;
	z-index: 1;
	padding: 48px 20px 45px 55px;
}
.title_access {
	margin-bottom: 0;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	flex-shrink: 0;
	width: 104px;
	position: relative;
	z-index: 1;
	padding-right: 40px;
	border-right: #fff 1px solid;
	margin-right: 40px;
}
.title_access span {
	display: block;
}
.title_access .access_en {
	position: absolute;
	left: -24px;
	top: 30px;
	transform: rotate(90deg);
	line-height: 1;
	font-weight: 500;
	font-family: 'Roboto', sans-serif;
	letter-spacing: 0.1em;
	font-size: 15px;
}
.title_access .access_jp {
	width: 26px;
	word-break: break-all;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}
.f01_inner {
	width: 445px;
	margin-right: 35px;
}
.f01_inner ul {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	background: #00a59d;
	padding: 15px 0 15px 20px;
}
.f01_inner ul li {
	font-weight: 300;
	margin-right: 14px;
	padding-left: 20px;
	display: inline-block;
	position: relative;
	z-index: 1;
	line-height: 1;
}
.f01_inner ul li:first-child {
	display: block;
	width: 100%;
	margin-right: 0;
	margin-bottom: 12px;
}
.f01_inner ul li:after {
	position: absolute;
	top: 4px;
	left: 0;
	background: #F29600;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	content: '';
	display: block;
}
.f01_inner .access {
	line-height: 1.4em;
	margin-top: 12px;
	letter-spacing: 0.06em;
}
.f01_inner .access a {
	text-decoration: none;
	color: #fff;
	font-size: 20px;
	background: url(../images/icon_tel02.png) left center no-repeat;
	background-size: 13px auto;
	padding-left: 15px;
	font-weight: 700;
	margin-left: 20px;
	letter-spacing: 0.1em;
	pointer-events: none;
}
.footer01 .footer01_btn {
	width: 258px;
	height: 127px;
	margin: 0;
}
.footer01 .footer01_btn a {
	width: 100%;
	height: 100%;
	text-decoration: none;
	background: url(../images/arrow02.png) right 20px center no-repeat #fff;
	background-size: 8px auto;
	color: #00ADA6;
	border-radius: 8px;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	text-align: center;
}
.footer01 .footer01_btn a span {
	font-size: 20px;
	display: inline-block;
	background: url(../images/footer_icon01.png) left center no-repeat;
	background-size: 52px auto;
	padding: 14px 28px 14px 60px;
	font-weight: 700;
}
.footer01 .footer_map {
	line-height: 0;
}
.footer02 {
	padding: 110px 0 80px;
}
.footer02 .f02_logo {
	margin-bottom: 35px;
}


.footer02 .contact_btn .tel_button .number{
	font-size: 22px;
}

.footer02 .contact_btn .tel_button span{
	font-size: 12px;
}


.footer02 .contact_btn {
	margin-bottom: 30px;
}
.footer02 .f02_img {
	margin-bottom: 0;
}
.footer02 .contact_btn .tel_button {
	width: 228px;
}
.footer02 .contact_btn .web_button, .footer02 .contact_btn .line_button {
	width: 215px;
	height: 76px;
}
.footer02 .contact_btn .web_button a, .footer02 .contact_btn .line_button a {
	padding-top: 10px;
	background-position: right 13px center;
}


.footer02 .contact_btn .web_button span:nth-child(2){
	font-size: 14px;
}

.footer02 .footer_bnr {
	text-align:center;
	padding-top:40px;	
}
.f02_inner01 {
	width: 485px;
}
.f02_inner01 .contact_btn .tel_button a {
	padding: 10px 0 12px;
}
.f02_inner02 {
	width: 645px;
	padding-top: 2px;
}
.f02_inner02 .f02_dl01 {
	margin-right: 85px;
}
.f02_inner02 .f02_dl02 {
	margin-right: 94px;
}
.f02_inner02 dl dt {
	font-weight: 700;
	color: #00ADA6;
	font-size: 18px;
	line-height: 1.4em;
	margin-bottom: 9px;
}
.f02_inner02 dl dt span {
}
.f02_inner02 dl.last {
	width: 100%;
	margin-top: 35px;
}
.f02_inner02 dl.last dt {
	position: relative;
	z-index: 1;
}
.f02_inner02 dl.last dt:after {
	position: absolute;
	z-index: -1;
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	content: '';
	display: block;
	background: #00ADA6;
	top: 52%;
	left: 0;
}
.f02_inner02 dl.last dt span {
	background: #fff;
	padding-right: 10px;
	display: inline-block;
}
.f02_inner02 dl.last ul:last-child {
	margin-left: 28px;
}
.f02_list li:not(:last-child) {
	margin-bottom: 5px;
}
.f02_list li a {
	font-size: 16px;
	text-decoration: none;
	color: #3F3F3F;
	padding-left: 20px;
	background: url(../images/arrow02.png) left 9px no-repeat;
	background-size: 8px auto;
}
.f02_list {
}
address {
	text-align: center;
	font-size: 12px;
	letter-spacing: 0.06em;
	line-height: 1.4em;
	padding: 18px 0;
	border-top: #ccc 1px solid;
}

/* IE CSS */
@media screen\0 {
#index_sec03, .footer01 {
	background-attachment:inherit;	
}
.time_work.active {
	transform: translateX(562px);
}
.footer01 {
	background-position:center top -400px;	
}
}
/* MOZZILLA CSS */
@-moz-document url-prefix() {
}
/* EDGE 12+ CSS */
@supports (-ms-ime-align:auto) {
}
