html {
	font-size: 62.5%;
}
body {
	margin: 0;
	padding: 0;
	font-family: '游ゴシック';
	letter-spacing: 0.1125em;
	-webkit-text-size-adjust: 100%;
	font-size: 1.6rem;
	color: #222;
}
body, html {
	overflow-x: hidden;
}
#main {
	width: auto;
}
img {
	max-width: 100%;
	height: auto;
}
a img:hover {
	opacity: 0.5 ;
}

#page-header {
	background-image: url(../../img/ogoodlife/page_ttl_img.png);
	background-color: transparent;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0.5em;
}
.page-header_pageTitle {
	line-height: 1;
	font-size: 2.8rem;
	font-weight: 600;
	display: inline-block;
	letter-spacing: 2px;
	padding: 1.2em 2.5em;
	margin: 0;
	color: #484848;
	text-shadow: #fff 5px 0 5px,#fff 0px 5px 5px,#fff -5px 0px 5px,#fff 0px -5px 5px;
	background-color: rgba(255,255,255,0.9);
	border-radius: 100vh;
	box-sizing: border-box;
	border-bottom: 5px solid #ef8704;
	*border-right: 5px solid #ef8704;
}

.content_header_wrap {
	margin: 0;
}

.breadSection {
	margin-bottom: 5rem;
	box-shadow: 0px 1px 20px 0px #e8e8e8;
	padding: 0 2rem;
}
span.pankuzu_mark {
	padding: 0 1rem;
}
.container {
	max-width: 1460px;
	padding: 0;
	margin: 0 auto;
}
#main_body {
	max-width: 1460px;
	padding: 0;
	margin: 10rem auto;
}
.site_detail #main_body, .site_index #main_body {
	padding: 0 2rem;
	overflow: visible;
}
.pankuzu {
	position: relative;
	padding: 1.5rem 0;
}
#main #main_body p, #main #main_body li, #main #main_body table, #main #main_body table td, #main #main_body table th {
	font-family: "BIZ UDGothic";
	font-size: 1.76rem;
	color: #212121;
}
#main #main_body h2 {
	background: #fadbb3;
	box-shadow: 0px 0px 0px 5px #fadbb3;
	border: dashed 2px white;
	margin: 2em 0 1.5em;
	padding: 1.4em;
	font-size: 2.4rem;
	color: #323232;
	border-radius: 10px;
}
#main #main_body h2::after {
	content: none;
}
#main #main_body span#sp_headline_0 + hr.cf + h2 {
	margin-top: 0.5em !important;
}

#main #main_body h3 {
	padding: 1.2em 1.4em;
	color: #323232;
	background: #f5f5f5;
	border-left: solid 5px #0068b7;
	font-size: 2rem;
	margin: 1em 0 1em;
}
#main #main_body h3::before {
	content: none;
}

#main #main_body h4 {
	font-size: 1.8rem;
	color: #4c4c4c;
	border-bottom: 2px solid #ef8704;
	position: relative;
	padding: 1.2em 1.6em 1.2em 2.4em;
}
#main #main_body h4::before {
	content: url(../../img/ogoodlife/good_icon.png);
	position: absolute;
	*top: 3px;
	left: 5px;
	background-color: transparent;
}

#main #main_body h5 {
	color: #0068b7;
	font-size: 1.75rem;
	position: relative;
	border-bottom: none;
	margin: 0.5em 0 0;
	padding: 0.8em 0.5em 0.8em 2em;
}
#main #main_body h5::before {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 15px;
	height: 2px;
	background-color: #0068b7;
	left: 0;
}

/* Slider */
.slick-loading .slick-list
{
	background: #fff url('./ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face
{
	font-family: 'slick';
	font-weight: normal;
	font-style: normal;

	src: url('./fonts/slick.eot');
	src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
	font-size: 0;
	line-height: 0;

	position: absolute;
	top: 50%;

	display: block;

	width: 20px;
	height: 20px;
	padding: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);

	cursor: pointer;

	color: transparent;
	border: none;
	outline: none;
	background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
	color: transparent;
	outline: none;
	background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
	opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
	opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
	font-family: 'slick';
	font-size: 20px;
	line-height: 1;

	opacity: .75;
	color: white;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
	left: -25px;
}
[dir='rtl'] .slick-prev
{
	right: -25px;
	left: auto;
}
.slick-prev:before
{
	content: '←';
}
[dir='rtl'] .slick-prev:before
{
	content: '→';
}

.slick-next
{
	right: -25px;
}
[dir='rtl'] .slick-next
{
	right: auto;
	left: -25px;
}
.slick-next:before
{
	content: '→';
}
[dir='rtl'] .slick-next:before
{
	content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
	margin-bottom: 30px;
}

.slick-dots
{
	position: absolute;
	bottom: -25px;

	display: block;

	width: 100%;
	padding: 0;
	margin: 0;

	list-style: none;

	text-align: center;
}
.slick-dots li
{
	position: relative;

	display: inline-block;

	width: 20px;
	height: 20px;
	margin: 0 5px;
	padding: 0;

	cursor: pointer;
}
.slick-dots li button
{
	font-size: 0;
	line-height: 0;

	display: block;

	width: 20px;
	height: 20px;
	padding: 5px;

	cursor: pointer;

	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
	outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
	opacity: 1;
}
.slick-dots li button:before
{
	font-family: 'slick';
	font-size: 6px;
	line-height: 20px;

	position: absolute;
	top: 0;
	left: 0;

	width: 20px;
	height: 20px;

	content: '•';
	text-align: center;

	opacity: .25;
	color: black;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before{
	opacity: .75!important;
	color: black!important;
}
/* Slider */
.slick-slider
{
	position: relative;

	display: block;
	box-sizing: border-box;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list
{
	position: relative;

	display: block;
	overflow: hidden;

	margin: 0;
	padding: 0;
}
.slick-list:focus
{
	outline: none;
}
.slick-list.dragging
{
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track
{
	position: relative;
	top: 0;
	left: 0;

	display: block;
	margin-left: auto;
	margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
	display: table;

	content: '';
}
.slick-track:after
{
	clear: both;
}
.slick-loading .slick-track
{
	visibility: hidden;
}

.slick-slide
{
	display: none;
	float: left;

	height: 100%;
	min-height: 1px;
}
[dir='rtl'] .slick-slide
{
	float: right;
}
.slick-slide img
{
	display: block;
}
.slick-slide.slick-loading img
{
	display: none;
}
.slick-slide.dragging img
{
	pointer-events: none;
}
.slick-initialized .slick-slide
{
	display: block;
}
.slick-loading .slick-slide
{
	visibility: hidden;
}
.slick-vertical .slick-slide
{
	display: block;

	height: auto;

	border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
	display: none;
}



#main_body ul {
	padding: 0;
	list-style: none;
}
#main_body ul li {
	position: relative;
	padding-left: 2.8rem;
}
#main_body ul li::before {
	content: "・";
	position: absolute;
	top: -4px;
	left: 0px;
	font-size: 2rem;
	color: #ef8704;
}
.site_list1 #main_body ul li::before, .site_list_2 #main_body ul li::before {
	content: none;
}
.site_list_2 .info_list_wrap .info_list ul li a::after {
	border-top: solid 3px #ef8704;
	border-right: solid 3px #ef8704;
}

.site_list1 #main_body ul li {
	position: relative;
	margin: 0 1.5em;
	padding: 1.4em 0 1.4em 0.5em;
	border-bottom: 1px dashed #aaa;
}


#main_body ol {
	counter-reset: list-count;
	list-style: none;
	padding: 0;
}
#main_body ol li {
	position: relative;
	padding-left: 2.8rem;

}
#main_body ol li::before {
	content: counter(list-count) ".";
	counter-increment: list-count;
	position: absolute;
	left: 5px;
	top: 0;
	font-weight: 700;
	color: #0068b7;
}

#main_body table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	border-top: 1px solid rgba(0,0,0,.05);
}
#main_body table tbody tr td, #main_body table tbody tr th, #main_body table td, #main_body table th, #main_body table thead tr td, #main_body table thead tr th, #main_body table tbody tr td, #main_body table tbody tr th, #main_body table td, #main_body table th, #main_body table thead tr td, #main_body table thead tr th {
	border: 1px solid #d2d2d2;
}
#main_body table th {
	background-color: #fbefcc;
	font-weight: 700;
	text-align: center;
	color: #824803;
	font-size: 1.6rem;
	padding: 1em;
}
#main_body td, th {
	font-size: 1.6rem;
	padding: 1em;
}

#page_top {
	width: 50px;
	height: 50px;
	position: fixed;
	right: 20px;
	bottom: 20px;
	background: #ef8704;
	opacity: 1;
	border-radius: 50%;
	z-index: 10000;
	border: 2px solid #FFF;
	margin: 0;
}
#page_top a{
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}
#page_top a::before{
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f062';
	font-size: 25px;
	color: #fff;
	position: absolute;
	width: 25px;
	height: 25px;
	top: -9px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}
/*----- スムーズスクロール -----*/
.back-top {
	position: fixed; /* 要素固定*/
	bottom: 3%; /*下からの位置*/
	right: 5%; /*右からの位置*/
	display: none; /*初めは非表示*/
	width: 80px;
	height: 80px;
	background-color: #FCBC06;
	border-radius: 100%;
}
.back-top a{
	color: #fff;
	text-decoration: none;
	text-align: center;
	display: block;
	line-height: 80px;
}

#menu-btn-check {
	display: none;
}
.menu-content {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 100%;/*leftの値を変更してメニューを画面外へ*/
	z-index: 80;
	background-color: #ef8704;
	transition: all 0.5s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
	left: 0;/*メニューを画面内へ*/
}
.menu-content ul {
	padding: 70px 10px 0;
}
.menu-content ul li {
	border-bottom: solid 1px #ffffff;
	list-style: none;
}
.menu-content ul li a {
	display: block;
	width: 100%;
	font-size: 15px;
	box-sizing: border-box;
	color:#ffffff;
	text-decoration: none;
	padding: 9px 15px 10px 0;
	position: relative;
}
.menu-content ul li a::before {
	content: "";
	width: 7px;
	height: 7px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	transform: rotate(45deg);
	position: absolute;
	right: 11px;
	top: 16px;
}

.header_top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 2rem 6rem;
	height: 6rem;
	max-width: none;
}
#NavMenu ul {
	display: flex;
	margin-right: -1.5em;
	margin-left: -1.5em;
	margin-bottom: 0;
}
#NavMenu ul li {
	padding-right: 1.5em;
	padding-left: 1.5em;
	list-style: none;
}

.init-bottom {
	text-decoration: none!important;
	color:#4c4c4c!important;
	border: none!important;
}

.init-bottom:hover {
	border-bottom: 2px solid #ef8704!important;
	padding-bottom: 2px;
	color:#ef8704!important;
}

.mega_menu_title {
	font-size: 1.8rem;
	font-weight: 700;

	text-decoration: none!important;
}

.slider_box {
	position: relative;
	z-index: 2;
	padding: 0rem;
	line-height: 0;
}
.slide_text {
	position: absolute;
	top: 50%;
	left: 8rem;
	z-index: 1;
	transform: translate(0%, -50%);
	-webkit-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
}
.slider_box .slick-dots {
	bottom: 20px;
}
.slider_box .slick-dots li button:before {
	font-size: 1.6rem;
	color: #FFF;
	opacity: 1;
}

.slider_box .slick-dotted.slick-slider {
	margin-bottom: 0;
}
.slider_news_box {
	align-items: center;
	display: flex;
	height: 70px;
}
.slider_news_left {
	width: calc(100% - 300px);
	padding: 0 4rem;
}
.slider_news_right {
	height: 70px;
}
.slider_news_right a {
	font-weight: 700;
	color: #FFF;
	position: relative;
	width: 300px;
	height: 100%;
	background: #ef8704;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
.slider_news_right a:hover {
	text-decoration: underline;
}
.slider_news_right a::after {
	content: url(../../img/ogoodlife/right_arrow.png);
	position: absolute;
	top: 28px;
	right: 42px;
}
.slider_news_hiduke {
	display: inline-block;
}
.slider_news_hiduke {
	display: inline-block;
	font-weight: 700;
	color: #4c4c4c;
}
.slider_news_text {
	text-decoration: none!important;
	color: #4c4c4c!important;
	font-weight: 700;
}
.slider_news_text:hover {
	text-decoration: underline;
}
.slider_news_line {
	display: inline-block;
	padding: 0 1rem;
}
p.no_data {
	margin-left: 2rem;
}

.area_1_box {
	position: relative;
	background-color: #f9f9f9;
}
.machi_bg {
	position: absolute;
	top: 200px;
	right: 50px;
	z-index: 0;
}
.about_box {
	position: relative;
	margin-bottom: 28rem;
}
.about_img {
	position: relative;
	top: 0;
	left: 0;
}
.about_text_box {
	position: absolute;
	top: 500px;
	right: 200px;
	background-color: #FFF;
	border-radius: 20px;
	padding: 7rem 5rem 4rem;
	max-width: 850px;
	text-align: center;
	box-shadow: 0px 0px 20px 10px rgb(179 179 179 / 20%);
}
.top_title {
	color: #4c4c4c;
	font-size: 4rem;
	font-family: 'Kosugi Maru', sans-serif;
	font-weight: 600;
	letter-spacing: 5px;
	display: inline-block;
	position: relative;
	margin-left: 5rem;
	margin-bottom: 5.5rem;
}
.about_title::before {
	content: url(../../img/ogoodlife/about_icon.png);
	position: absolute;
	top: 6px;
	left: -50px;
}
.about_title::after {
	content: "ABOUT";
	position: absolute;
	top: 60px;
	left: 80px;
	font-size: 2.6rem;
	font-family: chantal, sans-serif;
	font-weight: 300;
	font-style: italic;
	color: #009100;
}
.kuwashiku_btn {
	font-weight: 700;
	color: #FFF!important;
	position: relative;
	background: #ef8704;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none!important;
	padding: 1.2rem 2rem;
	margin: 0 auto;
	border-radius: 50px;
	max-width: 250px;
}
.kuwashiku_btn:hover {
	text-decoration: underline;
}
.kuwashiku_btn::after {
	content: url(../../img/ogoodlife/right_arrow.png);
	position: absolute;
	top: 16px;
	right: 44px;
}
.about_text_box_dot {
	display: inline-block;
	position: absolute;
	font-size: 3rem;
}
.about_text_box_dot1 {
	top: 0px;
	left: 7px;
}
.about_text_box_dot2 {
	top: 0px;
	right: 7px;
}
.about_text_box_dot3 {
	bottom: 0px;
	left: 7px;
}
.about_text_box_dot4 {
	bottom: 0px;
	right: 7px;
}

.sns_box {
	display: flex;
	max-width: 1420px;
	margin: 0 auto;
	padding: 5rem 0;
	justify-content: space-between;
}
.instagram_box {
	position: relative;
	border: 1px solid #000;
	padding: 6rem 4rem 4rem;
}
.instagram_title {
	margin: 0;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	background-color: #f9f9f9;
	-ms-transform: translate(-50%, -50%);
	padding: 1rem 2rem;
	padding-left: 7.5rem;
	white-space: nowrap;
}
.instagram_title::before {
	content: url(../../img/ogoodlife/instagram_icon.png);
	position: absolute;
	top: 18px;
	left: 22px;
}
.instagram_img {
	display: flex;
	max-width: 470px;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 4rem;
}
.eapps-instagram-feed-posts-grid-load-more-container.eapps-instagram-feed-posts-grid-load-more-enabled {
	display: none!important;
}
.yukinokessyou {
	position: absolute;
}
.yukinokessyou1 {
	left: -30px;
	top: -36px;
}
.yukinokessyou2 {
	right: -30px;
	top: -36px;
}
.yukinokessyou3 {
	left: -30px;
	bottom: -36px;
}
.yukinokessyou4 {
	right: -30px;
	bottom: -36px;
}

.youtube_box {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: -2rem;
	width: 100%;
	max-width: 700px;
	position: relative;
}
.youtube_title::before {
	content: url(../../img/ogoodlife/youtube_icon.png);
	position: absolute;
	top: 11px;
	left: -62px;
}
.youtube_img1 {
	margin-bottom: 3rem;
	position: relative;
	z-index: 1;
}
.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
	margin-bottom: 3em;
}
.youtube iframe {
	width: 100%;
	height: 100%;
}
.youtube_btn {
	max-width: 350px;
	width: 100%;
}


.area_2_box {
	padding: 7rem 0;
	margin-bottom: 5rem;
}
.top_subtitle {
	position: absolute;
	left: 220px;
}

.live_box {
	position: relative;
	width: 100%;
	background-image: url(../../img/ogoodlife/kurasu_bg.png);
	background-repeat: no-repeat;
	background-position: right 0 top 100px;
	padding-bottom: 10rem;
}
.kurasu_text {
	position: absolute;
	top: 110px;
	right: 50px;
	z-index: -1;
}
.kurasu_text_box {
	position: absolute;
	top: 560px;
	right: 220px;
	background-color: #FFF;
	border-radius: 20px;
	padding: 5rem;
	max-width: 730px;
	text-align: left;
	box-shadow: 0px 0px 20px 10px rgb(179 179 179 / 20%);
}
.kurasu_text_box p, .sodateru_text_box p, .hataraku_text_box p {
	margin-bottom: 4rem;
	font-size: 1.8rem;
}

.hataraku_text {
	position: absolute;
	top: 60px;
	left: 50px;
	z-index: -1;
}
.work_box {
	position: relative;
	width: 100%;
	background-image: url(../../img/ogoodlife/hataraku_bg.png);
	background-repeat: no-repeat;
	background-position: left 0 top 100px;
	margin-top: 15rem;
	padding-bottom: 10rem;
}
.hataraku_img {
	text-align: right;
}
.top_subtitle.hataraku_title {
	right: 220px;
	left: auto;
}
.hataraku_text_box {
	position: absolute;
	top: 560px;
	left: 220px;
	background-color: #FFF;
	border-radius: 20px;
	padding: 5rem;
	max-width: 730px;
	text-align: left;
	box-shadow: 0px 0px 20px 10px rgb(179 179 179 / 20%);
}
.raise_box {
	position: relative;
	width: 100%;
	background-image: url(../../img/ogoodlife/sodateru_bg.png);
	background-repeat: no-repeat;
	background-position: right 0 top 100px;
	margin-top: 15rem;
	padding-bottom: 10rem;
}
.sodateru_text {
	position: absolute;
	top: 50px;
	right: 50px;
	z-index: -1;
}
.sodateru_text_box {
	position: absolute;
	top: 560px;
	right: 220px;
	background-color: #FFF;
	border-radius: 20px;
	padding: 5rem;
	max-width: 730px;
	text-align: left;
	box-shadow: 0px 0px 20px 10px rgb(179 179 179 / 20%);
}

.active_box {
	text-align: center;
	background-color: #e5e5e5;
	padding: 10rem 0;
}
.active_title {
	color: #000;
}
.active_title::before {
	content: url(../../img/ogoodlife/active_icon.png);
	position: absolute;
	top: 13px;
	left: -62px;
}
.active_title::after {
	content: "ACTIVE";
	position: absolute;
	top: 60px;
	left: 80px;
	font-size: 2.6rem;
	font-family: chantal, sans-serif;
	font-weight: 300;
	font-style: italic;
	color: #ef8704;
}

.active_inner {
	width: 95%;
	display: flex;
	max-width: 1460px;
	margin: 0 auto;
	justify-content: center;
	padding: 5rem 0;
	gap: 3.5em 3%;
	flex-wrap: wrap;
}
.active_inner > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: calc((100% - 3% * 4) / 5); /* 5個並べるため、親要素のgapの値×項目間の境目の数 */
	padding: 0;
}
.active_inner img {
	*margin-bottom: 2rem;
	border-radius: 20px;
}
.active_inner p:nth-child(2) {
	color: #ef8704;
	font-weight: 700;
}
.active_inner p:nth-child(3) {
	color: #000;
	font-weight: 500;
}
.active_inner p a {
	color: #000;
	font-weight: 500;
}
.communication_box .active_inner p {
	color: #000;
	font-weight: 500;
}
.active_inner > div > strong {
	color: #ef8704;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 1.5rem;
}
.active_inner > div > p {
	text-align: left;
	margin-top: 0;
}
.active_box .free_box {
	background-color: #e5e5e5;
}


.spacebg01 {
	width: 100%;
	height: 450px;
	background: url(../../img/ogoodlife/wave_img.png) no-repeat;
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}
.spacebg01::before {
	content: "";
	position: absolute;
	top: -10rem;
	left: 0;
	background: url(../../img/ogoodlife/wave1.png) ;
	background-repeat: repeat-x;
	background-position: center;
	width: 100%;
	height: 128px;
	z-index: 1;
}
.spacebg01::after {
	content: "";
	position: absolute;
	bottom: -10rem;
	left: 0;
	background: url(../../img/ogoodlife/wave2.png) ;
	background-repeat: repeat-x;
	background-position: center;
	width: 100%;
	height: 128px;
	z-index: 1;
}
.communication_box {
	text-align: center;
	margin: 10rem 0 0;
}
.communication_title::before {
	content: url(../../img/ogoodlife/communication_icon.png);
	position: absolute;
	top: 14px;
	left: -62px;
}
.communication_title::after {
	content: "communication";
	position: absolute;
	top: 60px;
	left: -37px;
	font-size: 2.6rem;
	font-family: chantal, sans-serif;
	font-weight: 300;
	font-style: italic;
	color: #0068b7;
}
.iteju_bnr {
	margin: 7rem 0 0;
	display: inline-block;
}

.book_area {
	display: flex;
	justify-content: center;
	gap: 1em 5%;
	margin: 3em auto 0;
	padding: 0 0.5em;
	max-width: 1050px;
}
.book_area div a {
	border-radius: 15px;
	overflow: hidden;
	border: 2px solid #ddd;
	display: block;
	box-sizing: border-box;
}


.bnr_box {
	padding: 8rem 0;
	margin-top: 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f2f2f2;
}
.bnr_box a {
	display: inline-block;
	margin: 1rem;
}

#footer {
	background-image: url(../../img/ogoodlife/footer_bg.png);
	background-repeat: no-repeat;
	padding: 12rem 0;
	position: relative;
}
#footer::before {
	content: none;
}
.footer_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.footer_inner p {
	color: #FFF;
	text-align: center;
	margin: 4rem 0;
}
.footer_btn {
	font-weight: 700;
	color: #FFF!important;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none!important;
	padding: 1.5rem;
	border-radius: 50px;
	max-width: 360px;
	width: 100%;
	background: rgba(0,0,0,0.5);
	border: 3px #fff solid;
	margin: 0.5rem 0;
	font-size: 1.8rem;
}
.footer_btn:hover {
	text-decoration: underline;
}
.footer_btn::after {
	content: url(../../img/ogoodlife/white_arrow.png);
	position: absolute;
	top: 18px;
	right: 44px;
}
.copySection {
	position: absolute;
	bottom: 0;
	text-align: center;
	left: 50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	color: #FFF;
}
#section_footer {
	border: 1px solid #ccc;
}
#main #main_body #section_footer h2 {
	margin: 0;
	padding: 1em 1.4em;
	background-color: #ebebeb;
	box-shadow: none;
	border: none;
	border-radius: 0;
	font-size: 1.25em;
}

/* 大メニューここから */
.site_list_2 #container .info_list_wrap .info_list ul li {
	flex: 0 0 100%;
	padding: 0;
	border-bottom: none;
}
.site_list_2 #container .info_list_wrap .info_list ul li a::after {
	right: 1.5em;
}
.site_list_2 #container .info_list_wrap .info_list ul li a {
	display: flex;
	padding: 1.5em 2em;
	width: 100%;
	align-items: center;
	position: relative;
	background: #fadbb3;
	box-shadow: 0px 0px 0px 5px #fadbb3;
	color: #212121;
	position: relative;
	font-size: 1.2em;
	font-weight: 700;
	text-decoration: none;
	border-radius: 10px;
	position: relative;
}


.site_list_2 #container .info_list_wrap .info_list ul li a::before {
	content: '';
	position: absolute;
	left: 0.8em;
	FONT-VARIANT: JIS78;
	height: 65%;
	width: 8px;
	background-color: #fff;
}
.site_list_2 #container .info_list_wrap .info_list ul li a:hover {
	background-color: #fff;
}
.site_list_2 #container .info_list_wrap .info_list ul li a:hover::before {
	background-color: #fadbb3;
}
/* 大メニューここまで */

/* 小メニューここから */
.site_list1 .bnr_box {
	padding: 8rem 0;
	margin-top: 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f2f2f2;
	gap: 1em 3%;
}
.site_list1 .bnr_box div {
	text-align: center;
	background-color: #fff;
	margin: 0 0.5em;
	padding: 1em;
	box-sizing: border-box;
	border-radius: 15px;
}
/* 小メニューここまで */


@media (max-width: 1400px) {
	.kurasu_text_box, .sodateru_text_box {
		top: 550px;
		left: 50%;
		transform: translate(-50%, 0%);
		-webkit-transform: translate(-50%, 0%);
		-ms-transform: translate(-50%, 0%);
		width: 90%;
	}
	.hataraku_text_box {
		top: 560px;
		left: 50%;
		transform: translate(-50%, 0%);
		-webkit-transform: translate(-50%, 0%);
		-ms-transform: translate(-50%, 0%);
		width: 90%;
	}
	.kurasu_text {
		display: none;
	}
	.hataraku_text {
		display: none;
	}
	.sodateru_text {
		display: none;
	}
	#main_body  {
		max-width: 1460px;
		padding: 0 0.5em;
		margin: 10rem auto;
	}
}

@media (max-width: 1280px) {
	#NavMenu ul li {
		padding-right: 0.65em;
		padding-left: 0.65em;
		list-style: none;
	}
	.mega_menu_title {
		font-size: 1.4rem;
	}
	.slide_text {
		top: 50%;
		left: 6rem;
		max-width: 350px;
	}
	.about_text_box {
		top: 100px;
		left: 50%;
		transform: translate(-50%, 0%);
		-webkit-transform: translate(-50%, 0%);
		-ms-transform: translate(-50%, 0%);
		width: 100%;
	}
	.about_box {
		position: relative;
		margin-bottom: 8rem;
	}
	.sns_box {
		flex-direction: column;
	}
	.machi_bg {
		display: none;
	}
	.instagram_box {
		width: 500px;
		max-width: 100%;
		box-sizing: border-box;
		margin: 0 auto 10rem;
	}
	.kurasu_text_box, .hataraku_text_box, .sodateru_text_box {
		top: 350px;
		padding: 2rem;
	}
	.work_box,.raise_box {
		margin-top: 5rem;
	}
	.top_subtitle {
		position: absolute;
		left: 70px;
		width: 80px;
	}
	/* 活躍する人たちここから */
	.active_inner > div {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		width: calc((100% - 3% * 3) / 4); /* 4個並べるため、親要素のgapの値×項目間の境目の数 */
		padding: 0;
	}
	/* 活躍する人たちここまで */

}

@media (max-width: 1099px) {
	.side1 #main {
		width: 100%!important;
	}
}

@media (max-width: 991.98px){
	.menu-btn {
		position: fixed;
		top: 10px;
		right: 10px;
		display: flex;
		height: 60px;
		width: 60px;
		justify-content: center;
		align-items: center;
		z-index: 90;
		background-color: #ef8704;
		border: 2px solid #FFF;
	}
	.menu-btn span,
	.menu-btn span:before,
	.menu-btn span:after {
		content: '';
		display: block;
		height: 3px;
		width: 25px;
		border-radius: 3px;
		background-color: #ffffff;
		position: absolute;
	}
	.menu-btn span:before {
		bottom: 8px;
	}
	.menu-btn span:after {
		top: 8px;
	}
	#menu-btn-check:checked ~ .menu-btn span {
		background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
	}
	#menu-btn-check:checked ~ .menu-btn span::before {
		bottom: 0;
		transform: rotate(45deg);
	}
	#menu-btn-check:checked ~ .menu-btn span::after {
		top: 0;
		transform: rotate(-45deg);
	}
	.menu-btn {
		top: 30px;
		right: 30px;
	}
	#NavMenu {
		display: none;
	}
	.header_top {
		align-items: center;
		justify-content: center;
		padding: 3rem;
	}
	.slider_box .slick-dots {
		bottom: 10px;
	}
	.slider_news_box {
		height: 120px;
	}
	.slider_news_right {
		height: 120px;
	}
	.slider_news_right a::after {
		top: 49px;
	}
	.slider_news_left {
		padding: 0 2rem;
	}
	.about_text_box {
		top: 30px;
		background-color: #FFF;
		border-radius: 20px;
		padding: 3rem;
		text-align: center;
		box-shadow: 0px 0px 20px 10px rgb(179 179 179 / 20%);
		position: absolute;
		left: 50%;
		z-index: 1;
		transform: translate(-50%, 0%);
		-webkit-transform: translate(-50%, 0%);
		-ms-transform: translate(-50%, 0%);
		width: 80%;
	}
	.machi_bg {
		display: none;
	}
	.about_box {
		position: relative;
		margin-bottom: 8rem;
	}
	.top_subtitle {
		position: absolute;
		left: 70px;
		width: 60px;
	}
	.kurasu_text_box, .sodateru_text_box {
		top: 210px;
		padding: 2rem;
	}
	.live_box, .work_box {
		padding-bottom: 7.5rem;
	}
	#page_top {
		width: 50px;
		height: 50px;
		position: fixed;
		right: 10px;
		bottom: 10px;
		background: #ef8704;
		opacity: 1;
		border-radius: 50%;
		z-index: 10000;
		border: 2px solid #FFF;
	}
	/* 活躍する人たちここから */
	.active_inner > div {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		width: calc((100% - 3% * 2) / 3); /* 4個並べるため、親要素のgapの値×項目間の境目の数 */
		padding: 0;
	}
	/* 活躍する人たちここまで */
}
@media (max-width: 782px) {
	.header_top {
		justify-content: flex-start;
		padding: 2rem;
	}
	.header_left img {
		max-width: 250px;
	}
	.menu-btn {
		top: 20px;
		right: 20px;
	}
	.slide_text {
		top: 50%;
		left: 2rem;
		max-width: 180px;
	}
	.slider_box .slick-dots {
		bottom: 5px;
	}

	.slider_news_box {
		flex-direction: column;
	}
	.slider_news_box {
		height: auto;
		padding: 2rem 0;
	}
	.slider_news_left {
		width: 90%;
		margin: 2rem;
	}
	.slider_news_right {
		height: 70px;
	}
	.slider_news_right a::after {
		top: 24px;
	}
	.about_text_box {
		position: relative;
	}
	.about_img {
		display: none;
	}
	.about_title::before {
		content: url(../../img/ogoodlife/about_icon.png);
		position: absolute;
		top: -6px;
		left: -46px;
	}
	.top_title {
		font-size: 2.5rem;
		margin-bottom: 2.5rem;
	}
	.about_title::after {
		top: 30px;
		left: 50px;
		font-size: 1.6rem;
	}
	.active_title::after {
		top: 30px;
		left: 50px;
		font-size: 1.6rem;
	}
	.communication_title::after {
		top: 40px;
		left: -33px;
		font-size: 1.6rem;
	}
	.instagram_title::before {
		top: 7px;
		left: 22px;
	}
	.instagram_img {
		max-width: 420px;
		justify-content: center;
	}
	.sns_box {
		width: 90%;
	}
	.youtube_title::before {
		top: 0px;
	}

	.youtube_btn {
		max-width: 280px;
	}
	.kuwashiku_btn::after {
		right: 21px;
	}
	.work_box, .raise_box {
		margin-top: 5rem;
	}
	.top_subtitle {
		left: 70px;
		width: 40px;
	}
	.kurasu_text_box p, .sodateru_text_box p, .hataraku_text_box p {
		font-size: 1.4rem;
	}
	.kurasu_text_box, .hataraku_text_box, .sodateru_text_box {
		top: 180px;
	}
	.active_inner > div {
		width: 80%;
		align-items: center;
		margin-bottom: 7rem;
	}
	.active_inner {
		padding-bottom: 0;
	}
	.active_title::before {
		top: 1px;
	}
	.communication_title::before {
		top: 1px;
	}
	.iteju_bnr {
		width: 95%;
	}
	.bnr_box {
		flex-direction: column;
	}
	.bnr_box a {
		width: 95%;
		text-align: center;
	}
	.footer_inner {
		width: 80%;
		margin: 0 auto;
	}
	#page-header {
		height: 200px;
	}
	.page-header_pageTitle {
		font-size: 2rem;
		padding: 1em 2em;
	}
	#main_body  {
		margin: 5rem auto;
	}
	/* 活躍する人たちここから */
	.active_inner {
		gap: 0em 3%;
	}
	.active_inner > div {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		width: calc((100% - 3% * 1) / 2); /* 4個並べるため、親要素のgapの値×項目間の境目の数 */
		margin-bottom: 3.5em;
		padding: 0;
	}
	/* 活躍する人たちここまで */
	/* 記事ここから */
	.site_detail #main_body, .site_index #main_body {
		padding: 0 1rem;
		overflow: visible;
	}
	#main #main_body p, #main #main_body li, #main #main_body table, #main #main_body table td, #main #main_body table th {
		font-size: 1.5rem;
	}
	#main #main_body h2 {
		padding: 1em;
		font-size: 2rem;
	}
	#main #main_body h3 {
		padding: 1em 1em;
		font-size: 1.8rem;
	}
	#main #main_body h4 {
		font-size: 1.65rem;
		padding: 1em 1.6em 1em 2.4em;
	}
	#main #main_body h5 {
		font-size: 1.6rem;
	}
	/* 記事ここまで */
	/* 小メニューここから */
	.site_list1 .bnr_box {
		padding: 1rem 0;
		margin-top: 5rem;
	}
	/* 小メニューここまで */
}
@media (max-width: 640px) {
	.work_box, .raise_box {
		margin-top: 12rem;
	}
	.slider_news_hiduke {
		display: block;
	}
	.slider_news_line {
		display: none;
	}
	.slider_news_right {
		height: 40px;
	}
	.slider_news_right a::after {
		top: calc(50% - 8px);
	}
	/* 活躍する人たちここから */
	.active_inner > div {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
		padding: 0;
	}
	/* 活躍する人たちここまで */
	/* このページに関するお問い合わせここから */
	#main #main_body #section_footer h2 {
		font-size: 1em;
	}
	#section_footer_detail {
		font-size: 0.9em;
	}
	/* このページに関するお問い合わせここまで */
}
@media (max-width: 500px) {
	.work_box, .raise_box {
		margin-top: 16rem;
	}
}
@media (max-width: 375px) {
	.work_box, .raise_box {
		margin-top: 20rem;
	}
}