@charset "utf-8";

/* 共通
--------------------------------------------------------------*/

html,
body {
	height: 100%;
}
body {
	background: #fff;
	color: #221815;
	-webkit-text-size-adjust: 100%;
	letter-spacing: 0.05em;
	font-size: 14px;
	font-family: 'a-otf-ud-shin-maru-go-pr6n', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Arial, Meiryo, sans-serif;
    font-weight: 400;
    font-style: normal;
}

.call_on {
	pointer-events: none;
}
a {
	color: #333;
}
.container {
	width: 1000px;
	margin: 0 auto;
}
.container1400 {
	width: 1400px;
	margin: 0 auto;
}
img {
	max-width: 100%;
	height: auto;
}
.sp,
.spin {
	display: none;
}
.ls-05 {
	letter-spacing: -0.05em !important;
}
.ls-5 {
	letter-spacing: -0.5em !important;
}
.ml-5 {
	margin-left: -0.5em !important;
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.obfit,
.obfit img {
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
.mon {
	font-family: 'Montserrat', sans-serif;
}
.ryu {
	font-family: 'a-otf-ryumin-pr6n', serif;
}

#privacy .container {
	margin: 50px auto;
}

@media only screen and (max-width:768px) {
	body {
	font-size: 12px;
	}
	main {
	top: 45px;
	position: relative;
	}
	.container {
	width: 100%;
	padding: 0 20px;
	}	
	.pc,
	.pcin {
	display: none;
	}	
	.sp {
	display: block;
	}	
	table.sp {
	display: table;
	}	
	.spin {
	display: inline;
	}	
	.call_on {
	pointer-events: auto;
	}	
}


/* 総合トップページ
--------------------------------------------------------------*/
.main_visual_area {
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 1;
    min-height: 770px;
}
.mainvisual_blur {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 1;
    background: #fff url(../img/top_new/bg_main.jpg)no-repeat;
    background-position: center;
}
.main_visual_area .link_list {
    justify-content: space-between;
    width: 1200px;
    bottom: 0;
    position: absolute;
    left: 50%;
    transform: translateY(50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    margin: auto;
}
.main_visual_area .link_list li a {
    display: block;
}
.main_visual_area .link_list li .top_bg_photo {
    display: none;
}

@keyframes fade-in {
	from {
	opacity: 0;
	}
	to {
	opacity: 1;
	}
}
.main_visual_area .link_list li .top_bg_logo {
	position: absolute;
	opacity: 0;
	top: -470px;
	left: 50%;
	transform: translateY(0) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	-webkit-transition: all 0.6s ease;
	transition: opacity 0.5s ease-out;
	display: none;
}
.main_visual_area .link_list li:hover .top_bg_logo {
	opacity: 1;
	display: block;
    animation-name: fade-in;
	animation-duration: .5s;
}

@media only screen and (max-width:768px) {
	.main_visual_area_sp .link_list {
	flex-direction: column;
	text-align: center;
	position: relative;
	top: 45px;
	margin: 0 0 45px 0;
	}
	.main_visual_area_sp .link_list li {
	border-bottom: 1px solid #fff;
	}

	.main_visual_area_sp .link_list li img {
	width: 33.333%;
	}
	.main_visual_area_sp .link_list li a {
	display: block;
	background: #faece9;
	padding: 35px 0 30px 0;
	}
	.main_visual_area_sp .link_list li:nth-child(2) a {
	background: #fcf2da;
	}
	.main_visual_area_sp .link_list li:nth-child(3) a {
	background: #dfe0f2;
	}
}



/* ヘッダー
--------------------------------------------------------------*/
#header {
	background: #000;
	height: 90px;
	min-width: 1000px;
}
.body_okayama #header {
	background: linear-gradient(90deg,#d4abc5 0%,#d4abc5 33.333%,#fff 33.333%,#fff 100%);
}
.body_osaka #header {
	background: linear-gradient(90deg,#f6d76b 0%,#f6d76b 33.333%,#fff 33.333%,#fff 100%);
}
.body_hyogo #header {
	background: linear-gradient(90deg,#9b89bc 0%,#9b89bc 33.333%,#fff 33.333%,#fff 100%);
}
#header .container {
	position: relative;
	height: 90px;
	width: 100%;
	min-width: 1400px;
}
#header h1,
#global {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#header h1{
	width: 33.333vw;
	text-align: center;
}
#sp_menu_btn {
	display: none;
}
#global {
	display: block;
	right: 95px;
	font-size: 0;
	z-index: 999;
}
#global ul li {
	display: inline-block;
	margin-left: 34px;
}
#global ul li:first-child {
	margin-left: 0;
	padding-left: 0;
	border-left: none;
}
#global .li_link {
	display: none;
}
#global ul li a {
	display: block;
}
#global ul li a,
#global ul li p {
	position: relative;
	font-size: 14px;
	line-height: 100%;
	padding: 11px 0;
	font-weight: 500;
}
#global ul li a::after,
#global ul li p::after {
    position: absolute;
    bottom: 0px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #E2ADC7;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
}
#global ul li a:hover::after,
#global ul li p:hover::after {
    transform: scale(1, 1);
}
#global ul li a.current::after,
#global ul li p.current::after {
    position: absolute;
    bottom: 0px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #d4abc5;
    transform: scale(1, 1);
    transform-origin: center top;
    transition: transform .3s;
}
#global ul li a.current,
#global ul li p.current {
    color: #d4abc5;
}
#global ul li a:hover,
#global ul li p:hover {
	color: #d4abc5;
}

.body_osaka #global ul li a::after,
.body_osaka #global ul li p::after {
    background: #f6d76b;
}
.body_osaka #global ul li a.current::after,
.body_osaka #global ul li p.current::after {
    background: #f6d76b;
}
.body_osaka #global ul li a.current,
.body_osaka #global ul li p.current {
    color: #f6d76b;
}
.body_osaka #global ul li a:hover,
.body_osaka #global ul li p:hover {
	color: #f6d76b;
}

.body_hyogo #global ul li a::after,
.body_hyogo #global ul li p::after {
    background: #9b89bc;
}
.body_hyogo #global ul li a.current::after,
.body_hyogo #global ul li p.current::after {
    background: #9b89bc;
}
.body_hyogo #global ul li a.current,
.body_hyogo #global ul li p.current {
    color: #9b89bc;
}
.body_hyogo #global ul li a:hover,
.body_hyogo #global ul li p:hover {
	color: #9b89bc;
}

#global ul li a:hover::after,
#global ul li a.current::after,
#global ul li p:hover::after,
#global ul li p.current::after {
	width: 100%;
}
#header li a.fb,
#header li a.ig {
	font-size: 19px;
}

@media only screen and (max-width: 768px) {
	#header {
	min-width: 100%;
	position: fixed;
	z-index: 100;
	top: 0;
	}	
	#header,
	#header .container {
	height: 45px;
	min-width: 100%;
	}
	.body_okayama #header {
	background: #d4abc5;
	}
	.body_osaka #header {
	background: #f6d76b;
	}
	.body_hyogo #header {
	background: #9b89bc;
	}
	#header h1{
	left: 20px;
	width: auto;
	}
	#header h1 img {
	height: 24px;
	}	
	#sp_menu_btn {
	position: absolute;
	display: block;
	color: #fff;
	top: 0;
	right: 10px;
	font-size: 26px;
	}	
	.burger {
	width: 20px;
	height: 18px;
	position: absolute;
	display: flex;
	align-items: center;
	top: 0;
	right: 5px;
	z-index: 9999;
	padding: 2px 0;
	margin: 13px 0 0 0;
	}
	/* 真ん中の線 */
	.burger .line {
	width: 100%;
	height: 1px;
	background: #fff;
	transition: 0.6s;
	}
	/* 上の線 */
	.burger::before {
	content: "";
	position: absolute;
	width: 20px;
	height: 1px;
	top: 0;
	right: 0;
	background: #fff;
	transition: 0.6s;
	}
	/* 下の線 */
	.burger::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 1px;
	bottom: 0;
	right: 0;
	background: #fff;
	transition: 0.6s;
	}
	.burger-active::before {
	transform: rotate(135deg);
	top: 0;
	bottom: 0;
	margin: auto;
	}
	.burger-active::after {
	transform: rotate(-135deg);
	top: 0;
	bottom: 0;
	margin: auto;
	}
	.burger-active > .line {
	transform: scale(0);
	}



	#global {
	display: none;
	top: 45px;
	left: 0;
	width: 100%;
	text-align: center;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	flex-wrap: wrap;
	background: #00000061;
	height: 100vh;
	}	
	#global ul {
	padding: 15px 0 0 0;
	flex-wrap: wrap;
	background: #fff;
	}	
	#global ul li {
	display: block;
	margin: 0;
	font-size: 12px;
	width: 100%;
	}	
	#global ul li .pcin {
	display: none!important;
	}
	#global ul li:last-child {
	border-bottom: none;
	}	
	#global ul li a {
	font-size: 14px;
	padding: 14px 0;
	}

	#global ul li a:hover::after,
	#global ul li a.current::after,
	#global ul li p:hover::after,
	#global ul li p.current::after {
	display: none;
	}

	#global .li_igfb {
	width: 100%;
	margin: 15px 0 0 0;
	border-top: 1px solid #ccc;
	}
	#global .li_igfb2 {
	width: 50%;
	margin: 15px 0 0 0;
	border-top: 1px solid #ccc;
	}
	#global .li_igfb2 + .li_igfb2 {
	border-left: 1px solid #ccc;
	}
	#global .li_link {
	display: block;
	width: 50%;
	}
	#global .li_link a,
	#global .li_link p {
	background: #333;
	padding: 15px 15px;
	}
	#global .li_link:nth-last-child(3) a {
	background: #faece9;
	}
	#global .li_link:nth-last-child(2) a {
	background: #fbf3d1;
	}
	#global .li_link:last-child a {
	background: #dfe0f2;
	}
}


/* フッター
--------------------------------------------------------------*/
#footer_top .bg {
	background: url(../img/top_new/bg_footer.jpg);
	padding: 170px 0 40px 0;
	background-size: cover;
	text-align: center;
	position: relative;
	bottom: 0;
	height: calc( 100vh - 770px);
}
#footer_top .footer_okayama .bg {
	background: #e2adc7;
}
#footer_top .footer_osaka .bg {
	background: #f6d76b;
}
#footer_top .footer_hyogo .bg {
	background: #a89ac3;
}
#footer_top .info {
	font-size: 12px;
	line-height: 30px;
}
#footer_top .footer_default .info {
	color: #fff;
}
#footer_top .info span {
	font-size: 18px;
}
#footer_top .copy {
	font-size: 12px;
	color: #000;
	margin: 30px 0 0 0;
}

#footer {
	padding-bottom: 20px;
	font-size: 12px;
	min-width: 1000px;
}
#footer .all_link {
	text-align: center;
	flex-wrap: wrap;
}
#footer .all_link li {
	width: 25%;
}
#footer .all_link li a {
	display: block;
	padding: 26px 0;
	background: #333;
}
#footer .all_link li:nth-child(2) a {
	background: #faece9;
}
#footer .all_link li:nth-child(3) a {
	background: #fcf2da;
}
#footer .all_link li:nth-child(4) a {
	background: #dfe0f2;	
}
#footer .all_link li a:hover {
	opacity: 0.7;
}
#footer .bg {
	background: #000;
	color: #fff;
	margin-bottom: 20px;
}
#footer .bg .container {
	position: relative;
	height: 140px;
}
.body_okayama #footer .bg .container {
	height: 160px;
}
#footer .bg .info,
#footer .bg .btn {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#footer .bg .info {
	line-height: 25px;
}
#footer .bg .info span {
	font-size: 18px;
}
#footer .bg .btn {
	right: 0;
}
#footer .bg .btn li {
	float: left;
	text-align: center;
	margin-left: 10px;
}
#footer .bg .btn .sns {
	width: 60px;
	margin: 0 15px 0 0;
}
#footer .bg .btn li a {
	display: block;
}
#footer .bg .btn li a.fb {
	width: 30px;
	height: 30px;
	border: 1px solid #fff;
	-webkit-border-radius: 15px;
    -moz-border-radius: 15px;  
    border-radius: 15px;
	font-size: 20px;
	line-height: 30px;
	color: #fff;
	text-indent: 0.05em;
	margin: 0 auto 5px;
}
#footer .bg .btn li a.tel {
	display: none
}
#footer .bg .btn li a.contact {
	position: relative;
	background: #fff;
	width: 285px;
	line-height: 60px;
	color: #000;
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 0.16em;
	font-weight: 600;
	border-radius: 50px;
}
#footer .bg .btn li a.tel i,
#footer .bg .btn li a.contact i {
	position: absolute;
	top: 50%;
	right: 20px;
	font-size: 16px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	line-height: 35px;
}
#footer .bg .btn li a.fb:hover {
	-webkit-transform: scale( 1.1 );
    -moz-transform: scale( 1.1 );
	-o-transform: scale( 1.1 );
	transform: scale( 1.1 );
}

#footer .bg .btn li a.tel:hover i,
#footer .bg .btn li a.contact:hover i {
	right: 10px;
}

#footer .bg .btn li.follow {
	padding: 15px 0;
}

#footer .privacy {
	float: left;
}
#footer .privacy a:hover {
	text-decoration: underline;
}
#footer .copy {
	float: right;
}


@media only screen and (max-width:768px) {
	#footer .all_link li {
	width: 50%;
	}
	#footer .all_link li a {
	padding: 15px;	
	}

	#footer_top .bg {
	background: #000;
	color: #fff;
	height: auto;
	padding: 20px 0;
	text-align: left;
	}
	#footer_top .info {
	line-height: 24px;
	}
	#footer_top .info span {
	font-size: 16px;
	}
	#footer_top .copy {
	text-align: center;
	color: #000;
	margin: 10px 0;
	}

	#footer {
	min-width: 100%;
	}	
	#footer .bg {
	background: #000;
	color: #fff;
	}	
	#footer .bg {
	margin-bottom: 20px;
	padding: 20px 0 15px 0;
	}	
	#footer .bg .container {
	height: auto;
	}	
	#footer .bg .info,
	#footer .bg .btn {
	position: static;
	top: 0;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	font-size: 11px;
	}	
	#footer .bg .info {
	line-height: 25px;
	margin-bottom: 15px;
	text-align: center;
	}	
	#footer .bg .info span {
	font-size: 14px;
	}	
	#footer .bg .btn {
	left: 0;
	}	
	#footer .bg .btn li:nth-child(1) {
	float: left;
	margin: 0 auto 10px;
	}	
	#footer .bg .btn li {
	float: unset;
	margin: 0 auto 10px;
	}	
	#footer .bg .btn li a,
	#footer .bg .btn li a.fb {
	margin: 0 auto 10px;
	}	
	#footer .bg .btn li a.tel,
	#footer .bg .btn li a.contact {
	position: relative;
	background: #fff;
	width: 280px;
	line-height: 35px;
	color: #000;
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 0.16em;
	}		
	#footer .privacy,
	#footer .copy {
	float: none;
	text-align: center;
	font-size: 10px;
	}	
	#footer .privacy {
	margin-bottom: 10px;
	}
}



/* 岡山トップページ
--------------------------------------------------------------*/
#main_image_sp {
	display: none;
}
#main_image {
	position: relative;
	width: 100%;
	height: auto;
	min-width: 1000px;
	overflow: hidden;
	line-height: 0;
}
#main_image .default img,
#main_image .img img {
	width: 100%;
	height: auto;
}
#main_image .img,
#main_image .img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}
#main_image .img img {
	display: none;
	position: absolute;
}
#main_image .txt {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#main_image .txt .content {
	position: relative;
	width: 33.333%;
	width: calc(100% / 3);
	height: 100%;
	float: left;
	text-align: center;
	-webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;    
    -o-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
#main_image .txt .content .slide {
	width: 100%;
	position: absolute;
	bottom: 0;
	-webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
	transition: all 0.4s ease-out;
	line-height: 180%;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
#main_image .txt .content:hover .slide {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	border-bottom: 5px solid #fff;
	bottom: 0;
}
.body_osaka #main_image .txt .content:hover .slide {
	border-bottom: 5px solid #ecc438;
}
.body_hyogo #main_image .txt .content:hover .slide {
	border-bottom: 5px solid #9b89bc;
}
#main_image .txt .content .slide h2 {
	margin-bottom: 45px;
}

#main_image .txt .content .slide p {
	margin-bottom: 35px;
}
#main_image .txt .content .slide p a {
	display: inline-block;
	background: rgba(255,255,255,0.2);
	width: 160px;
	height: 50px;
	line-height: 50px;
	color: #000;
	border: 1px solid #fff;
}
#main_image .txt .content .slide p a:hover {
	background: rgba(255,255,255,0.7);
}

.body_osaka #main_image .txt .content .slide p a {
	background: #f6d76b8a;
	color: #000;
	border: 1px solid #fff;
}
.body_osaka #main_image .txt .content .slide p a:hover {
	background: #f6d76b;
}
.body_hyogo #main_image .txt .content .slide p a {
	background: #9b89bc6e;
	color: #000;
	border: 1px solid #fff;
}
.body_hyogo #main_image .txt .content .slide p a:hover {
	background: #9b89bc;
}

@media only screen and (max-width:768px) {
	#main_image {
	display: none;
	}	
	#main_image_sp {
	display: block;
	margin: 0 0 45px;
	}
	#main_image_sp .txt img {
	width: auto;
	height: 50px;
	}
	#main_image_sp .default {
	line-height: 0;
	display: none;
	}	
	#main_image_sp .content {
	position: relative;
	line-height: 0;
	/* top: 45px; */
	}	
	#main_image_sp .content .txt {
	position: absolute;
	top: 50%;
	width: 100%;
	text-align: center;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	line-height: 180%;
	}	
	#main_image_sp .content .txt h2 {
	margin-bottom: 18px;
	}	
	#main_image_sp .content .txt p a {
	display: inline-block;
	background: rgba(255,255,255,0.2);
	width: 160px;
	line-height: 29px;
	color: #000;
	border: 1px solid #fff;
	}
}

.top_infobox {
    background: #fcf7f7;
}
.body_osaka .top_infobox {
    background: #fefdf8;
}
.body_hyogo .top_infobox {
    background: #f9f7fb;
}
.top_infobox .ul_wrap {
    
}
.top_infobox .ul_wrap > li {
    
}
.top_infobox .ul_wrap .cont_news {
    width: 100%;
    background: #fcf7f7;
    padding: 40px 0 45px 0;
    position: relative;
}
.body_osaka .top_infobox .ul_wrap .cont_news {
    background: #fefdf8;
}
.body_hyogo .top_infobox .ul_wrap .cont_news {
    background: #f9f7fb;
}

.top_infobox .cont_news .cont_title  {
    margin: 0 0 27px 0;
    text-align: center;
}
.top_infobox .cont_news .cont_title p {
    font-size: 20px;
    letter-spacing: 0.07em;
    margin: 0 0 12px 0;
    font-weight: 500;
}
.top_infobox .cont_news .cont_title h2 {
    font-size: 14px;
}
.top_infobox .cont_news .view_all {
    width: 384px;
    margin: 50px auto;
    text-align: center;
}
.top_infobox .cont_news .view_all a {
    padding: 23.5px 32px;
    border: 1px solid #d4abc5;
    border-radius: 100px;
    color: #d4abc5;
    background: #fff;
    letter-spacing: 0.1em;
    display: block;
}
.body_osaka .top_infobox .cont_news .view_all a {
    border: 1px solid #ecc438;
    color: #ecc438;
}
.body_hyogo .top_infobox .cont_news .view_all a {
    border: 1px solid #8b78af;
    color: #8b78af;
}

.top_infobox .cont_news .view_all a:hover {
    color: #fff;
    background: #d4abc5;
}
.body_osaka .top_infobox .cont_news .view_all a:hover {
    background: #ecc438;
}
.body_hyogo .top_infobox .cont_news .view_all a:hover {
    background: #8b78af;
}

.top_infobox .article_news .ul_news li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    padding: 20px;
    background: #fff;
    align-items: center;
}

.top_infobox .article_news .date {
    min-width: 110px;
    text-align: center;
    margin: 0;
}
.top_infobox .article_news .title {
	
}
.top_infobox .article_news .cat {
    border-radius: 14px;
    line-height: 30px;
    width: 135px;
    margin-bottom: 2px!important;
}

@media (min-width: 750px) {
	.top_infobox .article_news .detail {
	padding: 0 0 0 20px;
	display: flex;
	align-items: baseline;
	}
}

@media only screen and (max-width:768px) {
    .top_infobox {
    background: #fcf7f7;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    }
	.top_infobox .ul_wrap {
	flex-direction: column;
	}
    .body_osaka .top_infobox {
    background: #fefdf8;
    }
    .body_hyogo .top_infobox {
    background: #f9f7fb;
    }
	.top_infobox .ul_wrap {
	flex-direction: column;
	}

	.top_infobox .ul_wrap .cont_news {
	width: 100%;
	padding: 20px 0;
	}
	.top_infobox .ul_wrap .cont_twitter {
	width: 100%;
	background: #d4abc5;
	padding: 20px;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	}
	.body_osaka .top_infobox .ul_wrap .cont_twitter {
	background: #f6d76b;
	}

	.top_infobox .cont_news .cont_title p {
	font-size: 16px;
	margin: 0 0 5px 0;
	}
	.top_infobox .cont_news .cont_title h2 {
	font-size: 11px;
	}
	.top_infobox .cont_news .view_all {
	width: 80%;
	margin: 20px auto;
	}
	.top_infobox .cont_news .view_all a {
	padding: 0 35px;
	line-height: 40px;
	}


	.top_infobox .article_news .cat {
	border-radius: 11px;
	line-height: 18px;
	width: 75px;
	margin-bottom: 15px!important;
	}

}




/* 下層共通
--------------------------------------------------------------*/

.bg_logo {
	text-align: center;
	padding: 60px 0 0 0;
	height: 256px;
}
.bg_logo .logo {
	text-align: center;
	padding: 0 0 30px 0;
}
.body_okayama .bg_logo {
	background: #f6ecf2;
}
.body_osaka .bg_logo {
	background: #fef5d6;
}
.body_hyogo .bg_logo {
	background: #dfe0f2;
}

.content {
	position: relative;
}
.sec_title {
	text-align: center;
	margin: 0 0 30px 0;
	width: 100%;
}
.sec_title p {
	text-align: center!important;
}
.sec_title.abs {
	position: absolute;
	top: 150px;
	left: 50%;
	transform: translateY(0%) translateX(-50%);
	-webkit- transform: translateY(0%) translateX(-50%);
	margin: auto;
}
.sec_title h2,
.sec_title h3 {
	font-size: 24px;
	margin: 0 0 10px 0!important;
	line-height: 1.5em!important;
}
.sec_title p {
	font-size: 12px!important;
	color: #d4abc5!important;
	line-height: 1.5em!important;
}
.body_osaka .sec_title p {
	color: #f6d76b!important;
}
.body_hyogo .sec_title p {
	color: #9b89bc!important;
}

@media only screen and (max-width:768px) {
	.bg_logo {
	padding: 15px 0 0 0;
	height: 128px;
	}
	.bg_logo img {
	width: 144px;
	height: auto;
	}
	.sec_title {
	margin: 0 0 0px 0;
	}
	.sec_title.abs {
	position: absolute;
	top: 65px;
	}
	.sec_title h2,
	.sec_title h3 {
	font-size: 18px;
	margin: 0 0 5px 0!important;
	}
	.body_osaka #about .sec_title h2 {
	font-size: 14px;
	}
	.body_hyogo #about .sec_title h2 {
	font-size: 14px;
	}
	.sec_title p {
	font-size: 11px!important;
	}
}

/* 会社概要
--------------------------------------------------------------*/

#about {
	margin-bottom: 120px;
}
#about_mimo {
	text-align: center;
	margin-bottom: 75px;
	position: relative;
	background: #fcf7f7;
	padding: 0 0 50px 0;
}
.body_osaka #about_mimo {
	background: #fffbeb;
}
.body_hyogo #about_mimo {
	background: #dfe0f2;
}
#about_mimo .sec_title {
	position: relative;
	top: -20px;
	margin: 0 0 10px 0;
}
#about_mimo p {
	font-size: 16px;
	color: #221815;
}

#about_message {
	text-align: center;
	margin: 50px 0 75px 0;
}
#about_message p {
	margin-bottom: 25px;
	line-height: 30px;
	color: #666;
}
#about_message p.att {
	font-size: 12px;
	line-height: 24px;
	letter-spacing: 0;
}

#about_company h3 {
	margin-bottom: 60px;
	text-align: center;
}
#about_company section {
	margin-bottom: 50px;
}
#about_company section .txt {
	float: left;
}
#about_company section .txt h4 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 15px;
	
}
#about_company section .txt dl {
	line-height: 30px;
}

#about_company section .txt dl dt {
	float: left;
	clear: both;
	width: 120px;
}
#about_company section:first-of-type .txt dl dt:first-of-type span {
	letter-spacing: 1.1em;
}
#about_company section:first-of-type .txt dl dt:nth-of-type(2) span {
	letter-spacing: 0.4em;
}
#about_company section:first-of-type .txt dl dt:nth-of-type(3) span {
	letter-spacing: 0.1em;
}
#about_company section:first-of-type .txt dl dt:nth-of-type(5) span {
	letter-spacing: 0.4em;
}
#about_company section:first-of-type .txt dl dt:last-of-type span {
	display: inline-block;
	-moz-transform-origin: left top;
	-webkit-transform-origin: left top;
	-o-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: scale( 0.85,1 );
    -moz-transform: scale( 0.85,1 );
	-o-transform: scale( 0.85,1 );
	transform: scale( 0.85,1 );
}
.body_osaka 
#about_company section:first-of-type .txt dl dt:last-of-type span {
    letter-spacing: 1px;
}
#about_company section .txt dl dd {
	float: left;
	color: #666;
	letter-spacing: 0;
}
#about_company section .img {
	float: right;
}

@media only screen and (max-width:768px) {
	#about {
	margin-bottom: 0;
	}
	#about_mimo {
	margin-bottom: 30px;
	padding: 0 0 20px 0;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	}
	#about_mimo p {
	font-size: 13px;
	line-height: 26px
	}
	#about_mimo .sec_title {
	margin: 0 0 -10px 0;
	top: -15px;
	}
	
	#about_message {
	text-align: center;
	margin: 30px 0 35px 0;
	}
	#about_message p {
	line-height: 26px;
	letter-spacing: 0.02em;
	text-align: left;
	}
	#about_message p.sp_center {
	text-align: center;
	}

    #about_company .sec_title {
    margin: 0 0 10px 0;
    }
	#about_company section .txt {
	float: none;
	width: 100%;
	margin-bottom: 20px;
	text-align: center;
	}
	#about_company section .txt h4 {
	font-size: 13px;
	font-weight: 500;
	margin: 20px 0 15px 0;
	}
	#about_company section .txt dl {
	line-height: 24px;
	}
	#about_company section .txt dl dt {
	float: none;
	width: 100%;
	}
	#about_company section:first-of-type .txt dl dt:first-of-type span,
	#about_company section:first-of-type .txt dl dt:nth-of-type(2) span,
	#about_company section:first-of-type .txt dl dt:nth-of-type(3) span,
	#about_company section:first-of-type .txt dl dt:nth-of-type(5) span {
	letter-spacing: 0.05em;
	}
	#about_company section:first-of-type .txt dl dt:last-of-type span {
	-webkit-transform: scale( 1,1 );
	-moz-transform: scale( 1,1 );
	-o-transform: scale( 1,1 );
	transform: scale( 1,1 );
	}
	#about_company section .txt dl dd {
	float: none;
	margin-bottom: 8px;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	}
	#about_company section .txt dl dd.address {
    padding: 0 20px;
	}
	#about_company section .img {
	float: none;
	text-align: center;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	}
	.body_osaka #about_company section .img.sp_center {
	text-align: center;
	display: block;
	margin-bottom: -35px;
	margin-top: 15px;
	}
	.body_osaka #about_company section .img.sp_center img:nth-child(1) {
    padding: 0 20px 0 0;
	}
	#about_company .map {
	height: 240px;
	}
	#about_company .map iframe {
	height: 240px;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	}
}


/* サービス内容
--------------------------------------------------------------*/
#service {
	margin-bottom: 100px;
}

#service h3 {
	margin-bottom: 35px;
}

#service h4 {
	margin-bottom: 15px;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.1em;
}

#service p {
	font-size: 14px;
	line-height: 30px;
	color: #666;
}

@media only screen and (max-width:768px) {
	#service {
	margin-bottom: 30px;
	}
	#service h4 {
	font-size: 14px;
	line-height: 1.7em;
	}
	#service p {
	font-size: 12px;
	line-height: 26px;
	}
}

#service00,
#service01 {
	text-align: center;
}
#service00 {
	margin: 50px 0;
}
#service00 .bg {
	background: linear-gradient(90deg,#f7f6f8 0%,#f7f6f8 50%,#e4e1e8 50%,#e4e1e8 100%);
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 50px 0;
	margin-top: 45px;
}
.body_osaka #service00 .bg {
	background: linear-gradient(90deg,#fefcf1 0%,#fefcf1 50%,#fefae1 50%,#fefae1 100%);
}
#service00 .bg ul {
	justify-content: space-between;
}
#service00 .bg ul li img {
	background: #e4cdd1;
	padding: 5px;
}
.body_osaka #service00 .bg ul li img {
	background: #efe294;
}
.body_hyogo #service00 .bg ul li img {
	background: #bbb2cc;
	
}

@media only screen and (max-width:768px) {
	#service00 {
	margin: 30px 0;
	}
	#service00 p {
	letter-spacing: -0.1px;
	text-align: left;
	}
	#service00 .bg {;
	padding: 10px 0;
	margin-top: 15px;
	}
	#service00 .bg ul li img {
	padding: 1px;
	}
}

#service01 {
	margin-bottom: 70px;
}
#service01 section {
	margin-bottom: 20px!important;
}
#service01 p {
	letter-spacing: 0;
	margin-bottom: 15px;
}
#service01 li {
	float: left;
	width: 490px;
	height: 50px;
	line-height: 50px;
	font-size: 15px;
	text-align: left;
	margin-bottom: 10px;
	padding-left: 20px;
	letter-spacing: 0;
}
#service01 li:nth-child(odd) {
	margin-right: 20px;
}
#service01 .list01 li {
	background: #e2adc7;
	color: #fff;
}
#service01 .list01 li::before {
	content: "◎";
}
#service01 .list02 {
	padding-top: 10px;
}
#service01 .list02 li {
	border: 1px solid #e2adc7;
	color: #666;
}
#service01 .list02 li::before {
	content: "○";
}
#service01 dl {
	padding-top: 10px;
	text-align: left;
	font-size: 16px;
	border-bottom: 1px solid #ccc;
}
#service01 dl dt {
	color: #e2adc7;
	width: 266px;
	float: left;
	clear: both;
	padding-top: 25px;
}
#service01 dl dd {
	width: 100%;
	color: #666;
	padding: 25px 0 25px 266px;
	border-top: 1px solid #ccc;
}
#service01 .btn a {
	display: inline-block;
	background: #000;
	width: 500px;
	line-height: 70px;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.1em;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}
#service01 .btn a:hover {
	letter-spacing: 0.3em;
}

@media only screen and (max-width:768px) {	
	#service01 {
	margin-bottom: 30px;
	}
	#service01 .list01 li {
	padding-left: 2em;
	text-indent: -1em;
	font-size: 13px;
	}
	#service01 .list02 li {
	padding-left: 1.8em;
	text-indent: -1em;
	font-size: 13px;
	letter-spacing: -0.5px;
	}
	#service01 .list01 li::before,
	#service01 .list02 li::before {
	content: "◎";
	margin: 0 2px 0 0;
	}
	#service01 li {
	float: none;
	width: 100%;
	height: auto;
	line-height: 28px;
	font-size: 14px;
	padding: 10px 0 10px 15px;
	}
	#service01 dl {
	font-size: 14px;
	}
	#service01 dl dt {
	width: 100%;
	float: none;
	padding-top: 15px;
	border-top: 1px solid #ccc;
	margin-bottom: 5px;
	}
	#service01 dl dd {
	width: 100%;
	padding: 0 0 15px;
	border: none;
	font-size: 13px;
	}
	#service01 .btn a {
	width: 90%;
	max-width: 500px;
	line-height: 45px;
	height: unset;
	font-size: 16px;
	}
}

#service02 {
	margin-bottom: 50px;
}
#service02 .bg {
	background: #fcf7f7;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 70px 0 75px 0;
	margin-top: 45px;
}
#service02 p {
	letter-spacing: 0;
	margin-bottom: 30px;
}
#service02 td p {
	margin-bottom: 0;
	font-size: 15px;
}
#service02 h3,
#service02 h4 {
	text-align: center;
	line-height: 1.5em;
}
#service02 table {
	border: 1px solid #e2adc7;
	width: 100%;
}
#service02 table tr th,
#service02 table tr td {
	padding: 30px 0 30px 30px;
	vertical-align: middle;
}
#service02 table tr th {
	background: #e2adc7;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	line-height: 36px;
	width: 235px;
}
#service02 table tr td {
	font-size: 15px;
	color: #666f;
	line-height: 30px;
	letter-spacing: 0;
	background: #fff;
}

@media only screen and (max-width:768px) {
	#service02 {
	margin-bottom: 30px;
	}
	#service02 .bg {
	background: #fcf7f7;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 30px 0;
	margin-top: unset;
	}
	#service02 p {
	letter-spacing: 0;
	margin-bottom: 15px;
	}
	#service02 table,
	#service02 table tr,
	#service02 table tr th,
	#service02 table tr td {
	display: block;
	}
	#service02 table tr th,
	#service02 table tr td {
	padding: 15px;
	}
	#service02 table tr th {
	font-size: 14px;
	line-height: 26px;
	width: 100%;
	text-align: center;
	}
	#service02 table tr td {
	line-height: 26px;
	padding-left: 2em;
	text-indent: -1em;
	font-size: 13px;
	}
	#service02 td p {
	font-size: 13px;
	}
}

#service03 h3,
#service03 h4,
#service03 h5 {
	text-align: center;
}
#service03 h4 {
	letter-spacing: 0.05em;
	margin-bottom: 40px;
}
#service03 p {
	font-size: 14px;
	color: #313131;
}
#service03 section {
	margin-bottom: 50px;
}
#service03 h5 {
	background: #e2adc7;
	font-size: 16px;
	font-weight: 500;
	line-height: 55px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	margin-bottom: 35px;
	position: relative;
}
.body_osaka #service03 h5 {
	background: #f6d76b;
}
.body_hyogo #service03 h5 {
	background: #8b78af;
	color: #fff;
}
#service03 h5::after {
	content: "";
	position: absolute;
	bottom: -15px;
	left: 50%;
	margin-left: -15px;
	width: 0;
	height: 0;
	border-top: 15px solid #e2adc7;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
}
.body_osaka #service03 h5::after {
	border-top: 15px solid #f6d76b;
}
.body_hyogo #service03 h5::after {
	border-top: 15px solid #8b78af;
}

@media only screen and (max-width:768px) {
	#service03 p {
	font-size: 12px;
	margin: 0 0 15px 0;
	}
	#service03 h4 {
	margin-bottom: 20px;
	}
	#service03 h5 {
	font-size: 14px;
	margin-bottom: 20px;
	}
	#service03 h5::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
	margin-left: -10px;
	width: 0;
	height: 0;
	border-top: 10px solid #e2adc7;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	}
	#service03 section {
	margin-bottom: 25px;
	}
}

#service04 {
	background: #f6ecf2;
	margin: 70px 0 75px 0;
	padding: 60px 60px 55px 60px;
	position: relative;
}
.body_osaka #service04 {
	background: #fef5d6;
}
.body_hyogo #service04 {
	background: #dfe0f2;
}
#service04 .sec_title {
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateY(0%) translateX(-50%);
	-webkit- transform: translateY(0%) translateX(-50%);
}
#service04 .flow_wrap {
	
}
#service04 .flow_wrap >  li {
	background: #fff;
	border: 1px solid #e8e8e8;
	margin: 0 0 20px 0;
}
#service04 .ul_flow {
	border-left: 3px solid #e2adc7;
	align-items: center;
}
.body_osaka #service04 .ul_flow {
	border-left: 3px solid #ecc438;
}
.body_hyogo #service04 .ul_flow {
	border-left: 3px solid #8b78af;
}
#service04 .ul_flow li:nth-child(1) {
	width: 195px;
	padding: 0 0 0 26px;
	border-right: 1px solid #e8e8e8;
	margin: 40px 0;
	height: 44px;
}
#service04 .ul_flow li:nth-child(2) {
	-webkit-flex: 1;
	flex: 1;
	padding: 0 0 0 25px;
}
#service04 .flow_hosoku {
	padding: 0 0 0 30px;
	margin: -8px 0 0 0;
}
#service04 .num {
	color: #333;
	font-size: 13px;
	font-weight: 500;
}
#service04 .ul_flow .num {
	color: #e2adc7;
}
.body_osaka #service04 .ul_flow .num {
	color: #ecc438;
}
.body_hyogo #service04 .ul_flow .num {
	color: #8b78af;
}
#service04 .title {
	color: #000;
	font-weight: 500;
}
#service04 .under_line{
    font-size: 18px;
}
#service04 .under_line span{
	background: linear-gradient(transparent 60%, #e2adc7 60%)
}
.body_osaka #service04 .under_line span{
	background: linear-gradient(transparent 60%, #f6d76b 60%)
}
.body_hyogo #service04 .under_line span{
	background: linear-gradient(transparent 60%, #fff100 60%)
}
#service04 .price .under_line span{
	background: linear-gradient(transparent 60%, #fff100 60%);
	font-size: 16px;
}
#service04 .price {
	border-top: 1px solid #e2d7dd;
	margin: 30px 0 0 0;
	padding: 15px 0 0 0;
}
#service04 .ul_price {
	justify-content: space-between;
	margin: 10px 0 0 0;
}
#service04 .ul_price li:nth-child(2) {
	margin: 10px 0 0 0;
}
#service04 .ul_price li:nth-child(2) a {
	display: block;
	background: #e0a812;
	color: #fff;
	width: 234px;
	text-align: center;
	line-height: 110px;
}
.body_hyogo #service04 .ul_price li:nth-child(2) a {
	background: #8b78af;
	line-height: 132px;
}
#service04 .ul_price li:nth-child(2) a:hover {
	opacity: 0.7;
}

@media only screen and (max-width:768px) {
	#service04 {
	margin: 40px 0 30px 0;
	padding: 50px 15px 25px 15px;
	}
	#service04 .sec_title {
	top: -15px;
	}
	#service04 .ul_flow {
	flex-direction: column;
	}
	#service04 .ul_flow li:nth-child(1) {
	width: 100%;
	padding: 0 10px;
	border-right: unset;
	margin: 10px 0 10px 0;
	height: 50px;
	border-bottom: 1px solid #e8e8e8;
	}
	#service04 .ul_flow li:nth-child(2) {
	padding: 0 10px 10px 10px;
	}
	#service04 .ul_flow li:nth-child(2) p {
	line-height: 20px;
	font-size: 13px;
	}
	#service04 .flow_hosoku {
	padding: 0 0 0 15px;
	}
	#service04 .price {
	margin: 20px 0 0 0;
	padding: 5px 0 0 0;
	}
	#service04 .ul_price {
	margin: 10px 15px 0 0;
	flex-direction: column;
	}
	#service04 .ul_price li:nth-child(2) a {
	color: #fff;
	width: 100%;
	line-height: 45px;
	}
	.body_hyogo #service04 .ul_price li:nth-child(2) a {
	line-height: 45px;
	}
}

#service05 .ul_qalist {
	border-bottom: 1px solid #e2d7dd;
}
#service05 .ul_qalist .list_q {
    position: relative;
    margin: -1px 0 0 0;
    padding: 18.5px 30px;
    border-top: 1px solid #e2d7dd;
    border-bottom: 1px solid #e2d7dd;
    background: #fcf7f7;
    color: #000;
}
.body_osaka #service05 .ul_qalist {
	border-bottom: 1px solid #fef5d6;
}
.body_osaka #service05 .ul_qalist .list_q {
    border-top: 1px solid #efe294;
    border-bottom: 1px solid #efe294;
    background: #fef5d6;
}
.body_hyogo #service05 .ul_qalist {
	border-bottom: 1px solid #8b78af;
}
.body_hyogo #service05 .ul_qalist .list_q {
    border-top: 1px solid #8b78af;
    border-bottom: 1px solid #8b78af;
    background: #dfe0f2;
}
#service05 .ul_qalist .list_q .flex {
    align-items: center;
}
#service05 .ul_qalist .list_a {
    padding: 22.5px 30px 22.5px 32px;
}
#service05 .ul_qalist .list_q li:nth-child(1),
#service05 .ul_qalist .list_a li:nth-child(1) {
	color: #e2adc7;
	font-size: 20px;
	font-weight: 500;
}
.body_osaka #service05 .ul_qalist .list_q li:nth-child(1),
.body_osaka #service05 .ul_qalist .list_a li:nth-child(1) {
	color: #ecc438;
}
.body_hyogo #service05 .ul_qalist .list_q li:nth-child(1),
.body_hyogo #service05 .ul_qalist .list_a li:nth-child(1) {
	color: #8b78af;
}
#service05 .ul_qalist .list_q li:nth-child(2),
#service05 .ul_qalist .list_a li:nth-child(2) {
	padding: 0 0 0 30px;
}
#service05 .ul_qalist .list_a .flex li:nth-child(2){
	line-height: 2.15em;
}
#service05 .ul_qalist .list_a .flex li:nth-child(2):after {
    border-bottom: solid 10px #fff;
}

@media only screen and (max-width:768px) {
	#service05 .ul_qalist {
	margin: 15px 0 0 0;
	}
	#service05 .ul_qalist .list_q {
	padding: 8.5px 15px;
	}
	#service05 .ul_qalist .list_a {
	padding: 12.5px 10px 12.5px 18px;
	}
	#service05 .ul_qalist .list_q li:nth-child(2),
	#service05 .ul_qalist .list_a li:nth-child(2) {
	padding: 0 0 0 15px;
	}
}


/* 応援メッセージ
--------------------------------------------------------------*/
.body_osaka #message {
    padding: 0 0 35px 0;
}
#message h3,
#message h4,
#message p {
	text-align: center;
	margin-bottom: 35px;
}
#message h4 {
	background: #e2adc7;
	font-size: 16px;
	font-weight: bold;
	line-height: 55px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	margin-bottom: 50px;
	position: relative;
}
.body_osaka #message h4 {
	background: #f6d76b;
}
.body_hyogo #message h4 {
	background: #8b78af;
	color: #fff;
}
#message h4::after {
	content: "";
	position: absolute;
	bottom: -15px;
	left: 50%;
	margin-left: -15px;
	width: 0;
	height: 0;
	border-top: 15px solid #e2adc7;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
}
.body_osaka #message h4::after {
	border-top: 15px solid #f6d76b;
}
.body_hyogo #message h4::after {
	border-top: 15px solid #8b78af;
}
#message p {
	font-size: 14px;
	line-height: 30px;
	color: #313131;
	text-align: left;
}
#message .message01 {
	margin: 50px 0 0 0;
}
#message .bg {
	background: #e2adc7;
	padding: 50px 0 15px;
	min-width: 1000px;
}
#message .bg  h4 {
	background: #fff;
	color: #e2adc7
}
#message .bg  h4::after {
	border-top: 15px solid #fff;
	border-left: 15px solid #e2adc7;
	border-right: 15px solid #e2adc7;
}
#message .bg p {
	color: #fff;
}

@media only screen and (max-width:768px) {
	.body_osaka #message {
    padding: 0 0 0 0;
    }
	#message .message01 {
	margin: 30px 0 0 0;
	}
	#message h4 {
	font-size: 14px;
	margin-bottom: 20px;
	}
	#message h4::after {
	bottom: -10px;
	margin-left: -10px;
	border-top: 10px solid #e2adc7;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	}
	#message .bg  h4::after {
	border-top: 10px solid #fff;
	border-left: 10px solid #e2adc7;
	border-right: 10px solid #e2adc7;
	}
	#message p {
	font-size: 12px;
	line-height: 26px;
	margin-bottom: 25px;
	}
	#message .bg {
	padding: 30px 0 10px;
	min-width: 100%;
	}
	#message p img {
	height: 40px;
	width: auto;
	}

}


/* 採用情報
--------------------------------------------------------------*/
#recruit h3,
#recruit h4 {
	text-align: center;
}
#recruit h3 {
	margin-bottom: 40px;
}
#recruit h4 {
	margin-bottom: 40px;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.1em;
}
#recruit_flow {
	margin: 60px 0 75px 0;
}
#recruit_flow section {
	position: relative;
	margin-bottom: 35px;
	margin-left: 40px;
	width: 960px;
	-webkit-border-radius: 10px;
    -moz-border-radius: 10px;  
    border-radius: 10px;
	border: 1px solid #999;
}
#recruit_flow section .img {
	position: absolute;
	left: -40px;
	top: 50%;
	margin-top: -38px;
}
#recruit_flow section h5,
#recruit_flow section p {
	padding: 15px 80px;
	font-size: 16px;
}
#recruit_flow section h5 {
	font-weight: bold;
	color: #333;
	border-bottom: 1px solid #999;
}
#recruit_flow section p {
	color: #666;
}
#recruit_require {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	background: #fbfbfb;
	padding: 70px 0;
}
.body_osaka #recruit_require {
	background: #fefdf8;
}
#recruit_require ul {
	font-size: 0;
	letter-spacing: 0;
	text-align: center;
	margin-bottom: 60px;
}
#recruit_require ul li {
	display: inline-block;
}
#recruit_require ul li+li {
	margin-left: 46px;
}
#recruit_require dl {
	font-size: 14px;
	line-height: 30px;
	margin: 40px 0 60px;
	background: #fff;
	border-top: 1px solid #ccc;
}
#recruit_require dl dt {
	width: 180px;
	color: #000;
	float: left;
	clear: both;
	letter-spacing: 0;
	text-indent: -0.5em;
	padding: 20px 0 0 20px;
}
#recruit_require dl dd {
	margin: 0;
	width: 100%;
	padding: 20px 0 20px 180px;
	border-bottom: 1px solid #cccccc;
	letter-spacing: 0;
	color: #666;
}
#recruit_require dl dd p.bottom {
	margin-bottom: 20px;
}
#recruit_require section {
	text-align: center;
}
#recruit_require section h4 {
	letter-spacing: 0.05em;
	margin-bottom: 10px;
}
#recruit_require section p {
	margin-bottom: 50px;
	color: #666;
}
#recruit_require section .btn a {
	display: inline-block;
	background: #000;
	width: 500px;
	height: 70px;
	line-height: 70px;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.1em;
	-webkit-border-radius: 10px;
    -moz-border-radius: 10px;  
    border-radius: 10px;
}
#recruit_require section .btn a:hover {
	letter-spacing: 0.3em;
}

@media only screen and (max-width:768px) {
	#recruit h4 {
	font-size: 14px;
	margin-bottom: 25px;
	}
	#recruit_flow {
	margin: 30px 0;
	}
	#recruit_flow section {
	margin-left: 20px;
	width: auto;
	width: calc(100% - 20px);
	margin-bottom: 20px;
	}
	#recruit_flow section .img {
	left: -20px;
	top: 5px;
	margin-top: 0;
	width: 38px;
	height: 38px;
	}
	#recruit_flow section h5,
	#recruit_flow section p {
	padding: 15px 15px 15px 25px;
	font-size: 14px;
	}
	#recruit_require dl dd p.bottom {
	margin-bottom: 10px;
	}
	#recruit_require {
	padding: 25px 0;
	}
	#recruit_require ul li {
	display: inline-block;
	width: 50%;
	max-width: 215px;
	padding: 5px;
	}
	#recruit_require ul li+li {
	margin-left: 0;
	}
	#recruit_require dl {
	font-size: 14px;
	line-height: 24px;
	margin: 20px 0 30px 0;
	}
	#recruit_require dl dt {
	width: 100%;
	color: #e2adc7;
	float: none;
	clear: both;
	letter-spacing: 0;
	text-indent: -0.5em;
	margin-bottom: 10px;
	line-height: 16px;
	}
	.body_osaka #recruit_require dl dt {
	color: #d7b436;
	}
	.body_hyogo #recruit_require dl dt {
	color: #9b89bc;
	}
	#recruit_require dl dd {
	width: 100%;
	padding: 0 20px 15px 20px;
	font-size: 13px;
	}
	#recruit_require dl dt span,
	#recruit_require dl .small {
	font-size: 12px;
	line-height: 18px;
	padding: 10px 0 0 0;
	}
	#recruit_require section h4 {
	letter-spacing: 0.05em;
	margin-bottom: 10px;
	line-height: 1.7em;
	}
	#recruit_require section p {
	margin-bottom: 15px;
	}
	#recruit_require section .btn a {
	width: 90%;
	max-width: 500px;
	line-height: 45px;
	height: unset;
	font-size: 16px;
	}
}


/* お問い合わせ
--------------------------------------------------------------*/
#contact {
	margin-bottom: 140px;
}
#contact h3 {
	margin-bottom: 55px;
	text-align: center;
}
#contact form p {
	font-weight: bold;
	line-height: 30px;
	margin: 50px 0 0 0;
	letter-spacing: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	padding: 40px 180px;
	border: 5px solid #ccc;
	border-bottom: none;
}

#contact .form {
	margin-top: -5px;
	padding: 85px 195px;
	border: 5px solid #ccc;
}
#contact dl {
	margin-bottom: 40px;
}
#contact dl dt {
	float: left;
	clear: both;
	width: 150px;
	padding-left: 50px;
	height: 40px;
	line-height: 40px;
	font-weight: bold;
}
#contact dl dt.req {
	padding-left: 0;
	width: 200px;
}
#contact dl dt.req span {
	display: inline-block;
	background: #000;
	height: 30px;
	width: 30px;
	text-align: center;
	line-height: 30px;
	font-weight: bold;
	color: #fff;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;  
	border-radius: 15px;
	font-size: 11px;
	letter-spacing: 0;
	margin-right: 20px;
}
#contact dl dt.address {
	height: auto;
	line-height: 180%;
}
#contact dl dd {
	width: 100%;
	margin-bottom: 15px;
	min-height: 40px;
	padding-left: 200px;
}
#contact dl dd.mail {
	line-height: 220%;
}
#contact dl dd input {
	background: #fff;
	width: 100%;
	height: 40px;
	border: 2px solid #b2b2b2;
	padding: 0 5px;
	-webkit-appearance: none;
}
#contact dl dd select {
	margin-bottom: 10px;
}
#contact dl dd textarea {
	background: #fff;
	width: 100%;
	height: 140px;
	border: 2px solid #b2b2b2;
	padding: 5px;
	-webkit-appearance: none;
	resize: vertical;
}
#contact input[type=submit] {
	-webkit-appearance: none;
	background: #000;
	width: 100%;
	line-height: 60px;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	color: #fff;
	border: none;
	cursor: pointer;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 10px;
}
#contact .form div {
	position: relative;
}
#contact .form div i {
	position: absolute;
	top: 50%;
	right: 17px;
	-webkit-transform: translateY(-65%);
	transform: translateY(-65%);
	font-size: 25px;
	color: #fff;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	line-height: 60px;
}
#contact .form div:hover i {
	right: 10px;
}

@media only screen and (max-width:768px) {
	#contact {
	margin-bottom: 30px;
	}
	#contact form p {
	margin: 30px 0 0 0;
}
	#contact form p {
	padding: 10px;
	}	
	#contact .form {
	padding: 10px;
	}	
	#contact dl {
	margin-bottom: 30px;
	}	
	#contact dl dt {
	float: none;
	width: 100%;
	margin-bottom: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	}	
	#contact dl dt.address {
	height: 40px;
	line-height: 40px;
	}	
	#contact dl dd {
	width: 100%;
	padding-left: 50px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	}	
	#contact dl dd input,
	#contact dl dd textarea {
	font-size: 16px;
	}
	#contact input[type=submit] {
	width: 100%;
	line-height: 45px;
	font-size: 14px;
	}
}



/* お知らせ
--------------------------------------------------------------*/

#news {
}


#news .main {
	margin: 75px 60px 0 0;
	-webkit-flex: 1;
	flex: 1;
}

#news .side {
	width: 215px;
	text-align: center;
	font-weight:500;
	font-family: Arial,sans-serif;
	margin: 75px 0;
}
#news .side .sticky {
	position: sticky;
	top: 75px;
}
#news .side .title a {
	display: block;
}
#news .side .title {
	background: #f7f9fa;
	line-height: 72px;
	border: 1px solid #e8e8e8;
	border-bottom: none;
	font-size: 16px;
}
#news .side .year,
#news .side ul li a {
	background: #fff;
	display: block;
	line-height: 72px;
	color: #303030;
	font-weight: normal;
	text-align: center;
	letter-spacing: 0;
	border: 1px solid #e8e8e8;
	margin: -1px 0 0 0;
}
#news .side ul {
	display: none;
}
#news .side ul li a {
	color: #a5a5a5;
}
#news .side .year:hover,
#news .side ul li a:hover {
	background: #f7f9fa;
}





/* News
--------------------------------------------------------------*/

.article_news .ul_news {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    border-bottom: 1px solid #e9cddf;
}
.body_osaka .article_news .ul_news {
    border-bottom: 1px solid #f6d76b;
}
.body_hyogo .article_news .ul_news {
    border-bottom: 1px solid #9b89bc;
}
.article_news .ul_news li {
    border-top: 1px solid #e9ccdf;
}
.body_osaka .article_news .ul_news li {
    border-top: 1px solid #f6d76b;
}
.body_hyogo .article_news .ul_news li {
    border-top: 1px solid #9b89bc;
}
.article_news .ul_news li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    padding: 20px;
    background: #fff;
}
.article_news .ul_news li a:hover {
    background: #faece9;
}
.body_osaka .article_news .ul_news li a:hover {
    background: #fcf2db;
}
.body_hyogo .article_news .ul_news li a:hover {
    background: #dfe2f0;
}
.article_news .obfit {
    overflow: hidden;
    width: 85px;
    height: 85px;
    flex-shrink: 1;
}
.article_news .obfit img {
    width: 85px;
    height: 85px;
}
.article_news .ul_news li a:hover .obfit img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
	transition-duration: 0.3s;
	opacity:1;
}
.article_news .detail {
    padding: 0 0 0 20px;
    box-sizing: border-box;
    flex: 1;
}
.article_news .cat {
    font-size: 12px;
    color: #fff;
    background: #d4abc5;
    border-radius: 10px;
    line-height: 20px;
    display: inline-block;
    width: 95px;
    text-align: center;
    box-sizing: border-box;
    margin-bottom: 20px!important;
}
.body_osaka .article_news .cat {
    background: #ecc438;
}
.body_hyogo .article_news .cat {
    background: #9b89bc;
}
.article_news .date {
    font-size: 12px;
    color: #999999;
    margin: 0 0 0 5px;
}
.article_news .title {
    margin: -8px 0 0 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}



.sec_news_detail {
	position: relative;
}
.sec_news_detail .bg_bottom {
	position: absolute;
	bottom: 0;
	height: 330px;
	background: #ecf0ef57;
	width: 100%;
	z-index: -10
}

.block_news_detail {
    margin-top: 50px;
}
.block_news_detail h2 {
    font-size: 18px;
    line-height: 1.4em;
    font-weight: 500;
}
.block_news_detail h3 {
    font-size: 16px;
    line-height: 1.4em;
}
.block_news_detail .date {
    font-size: 13px;
    color: #333;
}
.block_news_detail .title {
    line-height: 1.2;
    font-weight: bold;
    font-size: 20px;
    margin-top: 6px;
}
.block_news_detail .title span {
    display: inline-block;
    position: relative;
    padding: 0 38px;
}
.block_news_detail .title span:after {
    content: "";
    position: absolute;
    left: 0;
    top: 5%;
    width: 100%;
    height: 90%;
    border-left: 1px solid #000;
    border-right: 1px solid #000;
}
.block_news_detail .block_detail {
    background: #fff;
    border: 1px solid #ccc;
    padding: 50px 100px 40px 100px;
    margin-top: 50px;
}
.block_news_detail .box_article ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin-bottom: 30px;
}
 
.block_news_detail .box_article  p {
  color: #333;
}
.block_news_detail a {
   color: #d4abc5;
   line-height: 2em;
}

.block_news_detail .block_detail a { color: #999; }
.block_news_detail .block_detail a:hover { text-decoration: underline; }
.block_news_detail .block_detail { line-height: 30px; }
.block_news_detail .block_detail p{display: block; margin-bottom: 10px;}
.block_news_detail .block_detail strong{font-weight: bold;}
.block_news_detail .block_detail em{font-style: italic;}
.block_news_detail .block_detail blockquote{display: block; -webkit-margin-before: 1em; -webkit-margin-after: 1em; -webkit-margin-start: 20px; -webkit-margin-end: 20px;}
.block_news_detail .block_detail .aligncenter {display: block;margin: 0 auto;}
.block_news_detail .block_detail .alignright {float: right; margin-left: 10px;}
.block_news_detail .block_detail .alignleft {float: left; margin-right: 10px;}
.block_news_detail .block_detail img[class*="wp-image-"],#info .main .posts .post_content img[class*="attachment-"]{height: auto;max-width: 100%;}


@media only screen and (max-width:768px) {
	#news .main {
	margin: 30px 0;
	}
	#news .side {
	width: 100%;
	margin: -30px 0 30px 0;
	}
	.block_news_detail .title {
	font-size: 16px;
	}
	.block_news_detail {
	margin-top: 30px;
	}
	.block_news_detail .block_detail {
	padding: 20px 20px 40px 20px;
	margin-top: 20px;
	}
	.sec_news_detail .bg_bottom {
	bottom: -45px;
	}
	.ul_news_wrap {
	flex-direction: column;
	}
	.article_news .ul_news li a {
	padding: 15px;
	}
	.article_news .obfit {
	width: 65px;
	height: 65px;
	}
	.article_news .obfit img {
	width: 65px;
	height: 65px;
	}

	.article_news .cat {
	font-size: 11px;
	line-height: 18px;
	width: 75px;
	margin-bottom: 15px!important;
	}
	.article_news .date {
	font-size: 12px;
	color: #999999;
	}
	#news .side .title {
	line-height: 42px;
	font-size: 14px;
	}
	#news .side .year,
	#news .side ul li a {
	line-height: 42px;
	}
}


/* Pagenavi(一覧ページ)
--------------------------------------------------------------*/
.pagenavi {
    display: inline-block;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    padding: 50px 0 75px 20px;
}
.pagenavi span.pages {
	display:none;
}
.pagenavi span,
.pagenavi a {
    border-style: solid;
    border-width: 1px;
    border-color: #f1f1f1;
    background-color: #fff;
    float: left;
    color: #666;
    text-align: center;
    -moz-transition: all 0.26s ease;
    -o-transition: all 0.26s ease;
    -webkit-transition: all 0.26s ease;
    transition: all 0.26s ease;
    display: block;
    -moz-box-shadow: 0px 2px 0px 0px #f1f1f1;
    -webkit-box-shadow: 0px 2px 0px 0px #f1f1f1;
    box-shadow: 0px 2px 0px 0px #f1f1f1;
    margin-right: 10px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    padding: 0 17px;
    min-width: 46px;
    box-sizing: border-box;
    line-height: 40px;
}
.pagenavi span.current,
.pagenavi span:hover,
.pagenavi a.current,
.pagenavi a:hover {
    background-color: #ffe100;
    color: #666;
    opacity: 1;
}

@media (max-width: 750px) {
	/* Pagenavi(一覧ページ) */
	.pagenavi {
	padding: 30px 0;
	}
}

/* Pagination(詳細ページ)
--------------------------------------------------------------*/
.pagination {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 55px 0 80px 0;
    margin: 0 75px 0 0;
    width: 100%;
    box-sizing: border-box;
}
.pagination .btn-pager {
    letter-spacing: 0.15em;
    color: #333;
    background: #fff;
    display: block;
    text-align: center;
    width: 215px;
    padding: 5px 0;
    -moz-transition: all 0.26s ease;
    -o-transition: all 0.26s ease;
    -webkit-transition: all 0.26s ease;
    transition: all 0.26s ease;
    -moz-box-shadow: 0px 2px 0px 0px #f1f1f1;
    -webkit-box-shadow: 0px 2px 0px 0px #f1f1f1;
    box-shadow: 0px 2px 0px 0px #f1f1f1;
    border: 1px solid #f1f1f1;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    font-weight: 500;
    line-height: 2em;
}
.pagination .btn-pager.hidden {
    visibility: hidden;
}
.pagination .btn-pager:hover {
    background: #ffe100;
    opacity: 1;
}
.pagination .btn-pager:hover {
    color: #000;
    opacity: 1;
}
.pagination .btn-pager img {
    width: auto;
    height: 13px;
    margin: -3px 10px 0 0;
    vertical-align: middle;
}
.pagination .btn-pager.page-next img {
    margin-right: 0;
    margin-left: 10px;
}

@media (max-width: 750px) {
	/* Pagination(詳細ページ) */
	.pagination {
	position: relative;
	padding: 0px 0px 50px 0px;
	margin: 30px 0 45px 0;
	}
	.pagination a.btn-pager.page-back {
	position:absolute;
	bottom: 0px;
	margin: 0px 0px !important;
	width: 100% !important;
	}
	.pagination .btn-pager {
	margin: 0px 15px 0px 0px;
	}  
	.pagination .btn-pager.page-next {
	float: right;
	margin-right: 0px;
	} 
}

/*=============================================================================================================

 レスポンシブ
 
=============================================================================================================*/




/* 動画　20170210 追加
--------------------------------------------------------------*/

#video-container {
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
}
#video-controls {
	height: 56px;
	overflow: hidden;
	position: absolute;
	bottom: -56px;
	left: 0;
	right: 0;
	padding: 10px;
	opacity: 0;
	-webkit-transition: opacity .3s;
	-moz-transition: opacity .3s;
	-o-transition: opacity .3s;
	-ms-transition: opacity .3s;
	transition: opacity .3s;
	background: rgba(0,0,0,0.50);
	-webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
	transition: all 0.4s ease-out;
}
#video-container:hover #video-controls {
	bottom: 0;
}
#video-controls .vc {
	max-width: 680px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
#video-container #pi {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	   -moz-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	     -o-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
	z-index: 10;
	font-size: 150px;
	color: #e2adc7;
	pointer-events: none;
}
#video-container:hover #pi {
	opacity: 0.7;
}
#video-container button {
	background: none;
	border: none;
	color: #fff;
	-webkit-appearance: none;
	font-size: 30px;
}
#video {
	width: 100%;
	height: auto;
}
#video:hover {
	cursor: pointer;
}
#video-container button:hover {
	cursor: pointer;
}
#video-container button:focus {
	outline: none;
}
#video-container button i {
	width: 50px;
	text-align: center;
}
#video-container #mute i {
	width: 30px;
	text-align: left;
	margin-left: 20px;
}
#video-container #seek-bar {
	width: 40%;
}
#video-container #volume-bar {
	width: 6%;
}
#video-container input {
	vertical-align: baseline;
}

#footer .bg .btn li.jasrac {
	font-size: 10px;
	text-align: left;
	width: 130px;
	line-height: 125%;
}
#footer .bg .btn li.jasrac img {
	height: 54px;
	width: auto;
	float: left;
	margin-right: 5px;
}

@media only screen and (max-width:768px) {
	#video-container button {
		background: none;
		font-size: 20px;
	}
	#video-container button i {
		width: 30px;
		text-align: center;
	}

	#video-container #mute i {
		width: 20px;
		text-align: left;
		margin-left: 20px;
	}
	#video-container #pi {
		position: absolute;
		font-size: 80px;
	}
}

/* 2018/10/26追記　-----------------------------------------*/

#footer .inner {
	width: 1000px;
	margin: 0 auto;
}
.infobtn a {
	display: block;
}
.infobtn a span {
	width: 100%;
    text-align: center;
    display: block;
    font-size: 13px;
    padding: 30px 0;
    border: 1px solid #dbdde3;
}
.infobtn a span:hover {
	background-color: #dbdde3;
}
.infobtn02 a span {
	width: 100%;
    text-align: center;
    display: block;
    font-size: 13px;
    padding: 30px 0;
    border: 1px solid #afb8d4;
}
.infobtn02 a span:hover {
	background-color: #afb8d4;
}
.instabox {
	padding: 44px 0 44px;
	background-color: #ecf0ef;
}
.instabox h3 {
	float: left;
	margin-right: 30px;
}
.instabox ul li {
    float: left;
    width: 165px;
    height: 165px;
    margin: 0 44px 44px 0;
    overflow: hidden;
    /* background-color: #333; */
}
.instabox ul li:nth-of-type(4),
.instabox ul li:nth-of-type(5){
    margin: 0 43px 44px 0;
}
.instabox ul li img {
	width: 165px;
    height: 165px;
    object-fit: cover;
}
.instabox ul li:nth-of-type(3), .instabox ul li:last-child {
	margin-right: 0px;
}
.instabox ul li:nth-child(n+4):nth-child(-n+8){
	margin-bottom: 0px;
}
.instabox ul li a {
    display: block;
}


@media only screen and (max-width:768px) {
	#footer .inner {
    width: 100%;
    padding: 0 20px;
	}
	.instabox h3 {
	float: none;
	margin: 0 0 20px 0;
	text-align: left;
	max-width: 352px;
	}
	.instabox {
	padding: 20px 0 0 0;
	}
	.instabox ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
	.instabox ul li {
	margin: 0 0 20px 0;
	height: 158px;
	width: 25%;
	max-width: 165px;
	}
	.instabox ul li:nth-of-type(4),
	.instabox ul li:nth-of-type(5){
	margin: 0;
	}
	.instabox ul li:nth-child(n+4):nth-child(-n+8){
	margin: 0 0 20px 0;
	}
	.instabox ul li img {
	width: 100%;
	height: 158px;
	object-fit: cover;
	}

}

@media only screen and (max-width:414px) {
	.instabox ul li {
	width: 47%;
	height: 158px;
	}
}



/* 2025-05-29プチリニューアル追記　-----------------------------------------*/

.top_insta {
	padding: 40px 0 0 0;
	margin: 0 0 -12px 0;
}
.top_insta .cont_title  {
    margin: 0 0 15px 0;
    text-align: center;
}
.top_insta .cont_title p {
    font-size: 14px;
}
.top_insta h2 {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.07em;
    margin: 0 0 12px 0;
}

@media (max-width: 750px) {
	.top_insta {
	padding: 20px 0 0 0;
	margin: 0 0 30px 0;
	}
	.top_insta .cont_title  {
    margin: 0 0 5px 0;
	}
	.top_insta .cont_title h2 {
	font-size: 16px;
	margin: 0 0 5px 0;
	}
	.top_insta .cont_title p {
	font-size: 11px;
	}
	.top_insta #sbi_images {
		gap: 8px !important;
	}
	.top_insta .sbi_photo_wrap,
	.top_insta .sbi_item,
	.top_insta .sbi_photo {
	height: 28.267vw !important;
	min-height: 28.267vw !important;
	max-height: 28.267vw !important;
	}
	.top_insta #sb_instagram {
		padding-bottom: 30px!important;
	}
}


#global ul li.has-submenu {
	position: relative;
}
#global ul li .submenu {
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	padding: 20px;
	display: none;
	z-index: 100;
	min-width: 300px;
	border: 2px solid #f0d3e5;
}
.body_osaka #global ul li .submenu {
	border-color: #f6d76b;
}
.body_hyogo #global ul li .submenu {
	border-color: #9b89bc;
}
#global ul li .submenu li {
	position: relative;
	padding-right: 20px;
	display: flex;
	align-items: center;
	font-weight: 500;
	margin: 0 0 0 0;
}
#global ul li .submenu li a,
#global ul li .submenu li p {
	color: #333;
	width: 100%;
	text-decoration: none;
}
#global ul li .submenu li a:hover {
	border: none;
}
#global ul li.has-submenu a:hover::after,
#global ul li.has-submenu p:hover::after {
	transform: scale(0, 1);
}
#global ul li .submenu li::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 13px;
	height: 10px;
	background: url(../img/cmn/nav_arrow01.png) no-repeat center/contain;
}
#global ul li.has-submenu:hover .submenu {
	display: block;
}

@media (max-width: 750px) {
	#global ul li.has-submenu p {
	display: none;
	}
	#global ul li.has-submenu .submenu {
	display: block;
	position: relative;
	top: auto;
	left: auto;
	border: none;
	box-shadow: none;
	background: transparent;
	padding: 0;
	}
	#global ul li.has-submenu .submenu li {
	padding: 0;
	}
	
	#global ul li.has-submenu .submenu li::after {
	display: none;
	}
}
