@charset "UTF-8";

/***************************************************
 * parts/contact.php
 * ************************************************/

.parts-contact {
	background: url(../images/p-contact/bg.jpg) no-repeat;
	background-position: center;
	background-size: cover;
	margin: 18px 0 18px;
}
.parts-contact .parts-contact-box {
	max-width: 840px;
	    width: 52vw;
    margin-left: auto;
}
.parts-contact .parts-contact-inbox {
	margin-top: 28px;
	text-align: center;
}
.parts-contact .parts-contact-phone {
	text-align: center;
}
.parts-contact .parts-contact-phone a {
	display: inline-block;
	margin: 0 auto;
}
.parts-contact ul.parts-contact-web {
	width: 100%;
	margin-top: 12px;
	display: flex;
	justify-content: space-between;
}
.parts-contact ul.parts-contact-web li {
	width: calc(100% / 2 - 18px);
	text-align: center;
}
.parts-contact ul.parts-contact-web li a {
	display: inline-block;
}

@media screen and (max-width: 1340px) {
	.parts-contact .parts-contact-box {
		max-width: 640px;
	}
	.parts-contact ul.parts-contact-web li {
		width: calc(100% / 2 - 9px);
	}
}
@media screen and (max-width: 1024px) {
	.parts-contact .parts-contact-box {
		width: 58vw;
	}
	.parts-contact .parts-contact-phone a {
		width: 35vw;
	}
	.parts-contact ul.parts-contact-web li {
		width: calc(100% / 2 - 9px);
	}
}
@media screen and (max-width: 768px) {
	.parts-contact .parts-contact-box {
		width: 62vw;
	}
}
@media screen and (max-width: 559px) {
	.parts-contact {
		background: #FFF4F8 url(../images/p-contact/bg_559.png) no-repeat;
		background-position: left -30px center;
		background-size: contain;
	}
	.parts-contact .parts-contact-box {
		width: 100%;
	}
	.parts-contact .parts-contact-phone a {
		width: 80%;
	}
	.parts-contact ul.parts-contact-web {
		flex-direction: column;
	}
	.parts-contact ul.parts-contact-web li {
		width: 100%;
	}
	.parts-contact ul.parts-contact-web li.line {
		margin-top: 12px;
	}
	.parts-contact ul.parts-contact-web li a {
		width: 80%;
	}
}
@media screen and (max-width: 430px) {
	.parts-contact ul.parts-contact-web li a {
		width: 100%;
	}
}


/***************************************************
 * parts/contact3btn.php
 * ************************************************/

.parts-contact3btn {
	display: flex;
	justify-content: center;
	gap: 18px;
}

@media screen and (max-width: 768px) {
	.parts-contact3btn {
		width: 100%;
		max-width: 420px;
		margin: 0 auto;
	}
}
@media screen and (max-width: 559px) {
	.parts-contact3btn {
		gap: 12px;
	}
}
@media screen and (max-width: 430px) {
}
@media screen and (max-width: 320px) {
}



/***************************************************
 * parts/gnav_sp.php
 * ************************************************/

#fullscreen-nav {
	display: none;
	position: relative;
}
@media screen and (max-width: 768px) {
	#fullscreen-nav {
		display: block;
	}
	#fullscreen-nav span.menu {
		color: #FFF;
		font-size: 10px;
		line-height: 1;
		position: relative;
		bottom: -32px;
		text-align: center;
		display: block;
	}
	#fullscreen-nav a.fullscreen-nav-hamburger {
		width: 60px;
		height: 60px;
		position: fixed;
		top: 15px;
		right: 15px;
		margin: auto;
		background: #fe4c85;
		padding: 10px;
		border-radius: 0 !important;
		z-index: 999;
	}
	#fullscreen-nav a.fullscreen-nav-hamburger:hover {
		opacity: 1;
	}
	#fullscreen-nav .fullscreen-nav-hamburger-line {
		background: #FFF;
		display: block;
		height: 3px;
		border-radius: 3px;
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		transition: transform .3s;
		width: 35px;
	}
	#fullscreen-nav　.hamburger-line-top {
		top: 10px;
	}
	#fullscreen-nav .hamburger-line-center {
		top: 21px;
	}
	#fullscreen-nav .hamburger-line-bottom {
		bottom: 25px;
	}
	#fullscreen-nav .hamburger-line-top.active{
		top: 20px;
		transform: rotate(45deg);
	}
	#fullscreen-nav .hamburger-line-center.active{
		transform:scaleX(0);
	}
	#fullscreen-nav .hamburger-line-bottom.active{
		bottom: 37px;
		transform: rotate(135deg);
	}
	
	/* 中身 */
	#fullscreen-nav nav.fullscreen-nav-body {
		width: 100%;
		height: 100%;
		overflow: auto;
		background: #FFF;
		display: none;
		position: fixed;
		top: 0;
		z-index: 99;
	}
	#fullscreen-nav .fullscreen-nav-content {
		overflow: auto;
		width: 100%;
		height: 100%;
		padding: 60px 30px;
		background-color: #ffffff;
		background-image: radial-gradient(circle, #feccdc 1.5px, transparent 1.5px);
		background-position: 0 0;
		background-size: 31px 31px;
		z-index: 999;
	}
	
	/* 問い合わせ */
	#fullscreen-nav .fullscreen-nav-contact {
		
	}
	
	/* メニュー */
	#fullscreen-nav .fullscreen-nav-menu {
		overflow: hidden;
		margin-top: 30px;
		border-radius: 18px;
		box-shadow: 0 2px 18px 1px rgb(38 37 36 / 20%);
	}
	#fullscreen-nav ul.nav-menu {
		background: #FFF;
		border-top: 1px solid #ededed;
	}
	#fullscreen-nav ul.nav-menu li {
		text-align: left;
		border-bottom: 1px solid #ededed;
	}
	#fullscreen-nav ul.nav-menu li.small {
		font-size: .8em;
	}
	#fullscreen-nav ul.nav-menu li a {
		display: block;
		font-weight: bold;
		padding: 12px 22px;
	}
	
	#fullscreen-nav .fullscreen-nav-content ul#menu-sp-nav {
		margin-top: 30px;
	}
	#fullscreen-nav .fullscreen-nav-content ul#menu-sp-nav li {
		text-align: left;
		border-bottom: 1px solid #ededed;
	}
	#fullscreen-nav .fullscreen-nav-content ul#menu-sp-nav a {
		display: block;
		color: #375199;
		font-size: 1rem;
		font-weight: bold;
		font-family: sans-serif;
		padding: 9px 12px;
	}
	#fullscreen-nav .fullscreen-nav-content .contact_box {

	}
	#fullscreen-nav .fullscreen-nav-content .contact_box .contact_box_title {
		font-family: sans-serif;
		font-weight: bold;
		font-size: 1.3rem;
		margin: 0;
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex {
		margin-top: 18px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li a {
		display: block;
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.phone {
		width: 100%;
		margin-bottom: 18px;
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.mail,
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.line {
		width: calc(100% / 2 - 12px);
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.mail a {
		background: #375199;
		color: #FFF;
		font-size: 1.6rem;
		font-weight: bold;
		font-family: sans-serif;
		line-height: 50px;
		padding: 12px 12px 12px calc(13% + 38px);
		text-align: left;
		border-radius: 3px;
		position: relative;
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.mail a:before {
		content: "";
		display: inline-block;
		position: absolute;
		left: 20px;
		top: 50%;
		transform: translateY(-50%);
		background: url(images/p-contact/mark-mail-min.png) no-repeat;
		background-position: center;
		background-size: 100%;
		width: 35px;
		height: 35px;
		transition: all .3s;
		-webkit-transition: all .3s;
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.line a {
		background: #02b902;
		color: #FFF;
		font-size: 1.6rem;
		font-weight: bold;
		font-family: sans-serif;
		line-height: 50px;
		padding: 12px 12px 12px calc(13% + 38px);
		text-align: left;
		border-radius: 3px;
		position: relative;
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.line a:before {
		content: "";
		display: inline-block;
		position: absolute;
		left: 20px;
		top: 50%;
		transform: translateY(-50%);
		background: url(images/p-contact/mark-line-min.png) no-repeat;
		background-position: center;
		background-size: 100%;
		width: 35px;
		height: 35px;
		transition: all .3s;
		-webkit-transition: all .3s;
	}
}
@media screen and (max-width: 430px) {
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.mail a,
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.line a {
		font-size: 1rem;
		line-height: 38px;
		padding: 6px 6px 6px calc(16% + 28px);
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.mail a:before,
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.line a:before {
		left: 16px;
		width: 25px;
		height: 25px;
	}
}
@media screen and (max-width: 380px) {
	#fullscreen-nav .fullscreen-nav-content {
		padding: 45px 20px;
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.mail,
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.line {
		width: calc(100% / 2 - 6px);
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.mail a,
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.line a {
		font-size: .9rem;
		line-height: 38px;
		padding: 6px 6px 6px calc(16% + 28px);
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.mail a:before,
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.line a:before {
		width: 21px;
		height: 21px;
	}
	#fullscreen-nav .fullscreen-nav-content ul#menu-sp-nav a {
		font-size: .9rem;
	}
}
@media screen and (max-width: 320px) {
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.mail a,
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.line a {
		font-size: .9rem;
		line-height: 1;
		padding: 42px 12px 12px 12px;
		text-align: center;
	}
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.mail a:before,
	#fullscreen-nav .fullscreen-nav-content ul.contact_flex li.line a:before {
		top: 12px;
		left: 50%;
		transform: translateX(-50%);
		width: 21px;
		height: 21px;
	}
	#fullscreen-nav .fullscreen-nav-content ul#menu-sp-nav a {
	}
}


/***************************************************
 * parts/ameblo.php
 * ************************************************/

#ameblo {
	padding-bottom: 120px;
	margin-top: 18px;
	background: #FEF5C2;
}
#ameblo .outline {
	width: 100%;
    height: 100%;
    position: static;
	background: #FFF;
	border-radius: 18px;
	padding: 60px;
}
#ameblo p.p-ameblo_title {
	position: relative;
	color: #F2CE04;
	border-left: 3px solid #F2CE04;
	line-height: 1;
	font-size: 1.3em;
	padding-left: 8px;
	margin-bottom: 30px;
}
#ameblo .display-area {
	width: 100%;
	overflow: auto;
	padding: 0 20px 0 0;
	height: 480px;
}
#ameblo .display-area.deco::-webkit-scrollbar {
    width: 15px;
}
#ameblo .display-area.deco::-webkit-scrollbar-track {
	border-radius: 10px;
	background: #fafafa;
}
#ameblo .display-area.deco::-webkit-scrollbar-thumb { /*バーの色*/
	border-radius: 10px;
	background: #F2CE04;
}
#ameblo ul {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid #ededed;
}
#ameblo ul li {
	padding: 18px 0;
	border-bottom: 1px solid #ededed;
}
#ameblo ul li a {
	display: block;
	color: #222;
	font-size: 1em;
	line-height: 1.6;
}
#ameblo ul li .ameblo_flex {
	display: flex;
	align-items: center;
}
#ameblo ul li .ameblo_flex .ameblo_flex___img {
	
}
#ameblo ul li .ameblo_flex .ameblo_flex___img img {
	border-radius: 18px;
}
#ameblo ul li .ameblo_flex .ameblo_flex___txt {
	width: calc(100% - 280px);
	padding-left: 60px;
}
#ameblo ul li .ameblo_flex .ameblo_flex___txt p.ameblo_post_date {
	font-size: .9em;
	color: #666;
	margin: 0;
}
#ameblo ul li .ameblo_flex .ameblo_flex___txt p.ameblo_post_title {
	font-size: 1.1em;
	font-weight: 600;
	color: #FFAE00;
}
#ameblo ul li .ameblo_flex .ameblo_flex___txt p.ameblo_excerpt {
	font-size: .9em;
}
#ameblo ul li .ameblo_flex .ameblo_flex___txt p.ameblo_copy {
	font-size: .7em;
	color: #999;
}


@media screen and (max-width: 1194px) {
	#ameblo ul li .ameblo_flex {
		align-items: flex-start;
	}
	#ameblo ul li .ameblo_flex .ameblo_flex___img {
		width: 19vw;
	}
	#ameblo ul li .ameblo_flex .ameblo_flex___txt {
		    width: calc(100% - 19vw);
    padding-left: 4vw;
	}
}
@media screen and (max-width: 768px) {
	#ameblo .outline {
		padding: 45px;
	}
}
@media screen and (max-width: 559px) {
	#ameblo .outline {
		padding: 30px;
	}
	#ameblo ul li .ameblo_flex .ameblo_flex___img {
		width: 25vw;
	}
	#ameblo ul li .ameblo_flex .ameblo_flex___txt {
		    width: calc(100% - 25vw);
    padding-left: 4vw;
	}
}
@media screen and (max-width: 430px) {
	#ameblo {
		padding: 30px 0 86px;
	}
	#ameblo .outline {
		padding: 20px;
	}
	#ameblo .display-area {
		padding: 0 12px 0 0;
	}
	#ameblo .display-area.deco::-webkit-scrollbar {
		width: 6px;
	}
	#ameblo .display-area.deco::-webkit-scrollbar-track {
		border-radius: 6px;
	}
	#ameblo .display-area.deco::-webkit-scrollbar-thumb { /*バーの色*/
		border-radius: 6px;
	}
	#ameblo .p-ameblo_area {
		padding: 20px;
	}
	#ameblo ul li .ameblo_flex .ameblo_flex___img {
		width: 90px;
	}
	#ameblo ul li .ameblo_flex .ameblo_flex___txt {
		width: calc(100% - 90px);
	}
	#ameblo ul li .ameblo_flex .ameblo_flex___txt p.ameblo_copy {
		font-size: .9rem;
	}
	#ameblo ul li .ameblo_flex .ameblo_flex___txt span {
		font-size: .9rem;
	}
	#ameblo ul li .ameblo_flex .ameblo_flex___txt p.ameblo_post_title {
		font-size: 1em;
	}
	#ameblo ul li .ameblo_flex .ameblo_flex___txt p.ameblo_excerpt {
		font-size: .8em;
	}
	#ameblo ul li .text {
		padding-left: 135px;
	}
}
@media screen and (max-width: 320px) {
	#ameblo .p-ameblo_area {
		padding: 20px;
	}
	#ameblo p.p-ameblo_title {
		font-size: 1em;
		margin-bottom: 15px;
	}
}



/********************************************
 * parts/banner.php
 * *****************************************/

#parts-banner {
	background: #F0F2F9;
	padding: 45px 0 75px;
}
#parts-banner ul {
	display: flex;
	justify-content: space-evenly;
}

@media screen and (max-width: 768px) {
	#parts-banner ul {
		flex-wrap: wrap;
		margin-top: -18px;
	}
	#parts-banner ul li {
		width: calc(100% / 2 - 18px);
		margin: 18px 9px 0 9px;
	}
}
@media screen and (max-width: 559px) {
	#parts-banner {
		padding: 30px 0 60px;
	}
}
@media screen and (max-width: 430px) {
	#parts-banner ul {
		margin: 0 auto;
		width: 80%;
	}
	#parts-banner ul li {
		width: 100%;
		margin: 18px 0 0;
	}
}
@media screen and (max-width: 320px) {
	#parts-banner ul {
		width: 100%;
	}
}



/********************************************
 * parts/beforeafter-category.php
 * *****************************************/

.category-nav {
	
}
.beforeafter-archive .category-nav {
	margin-top: 60px;
}
.category-nav nav.nav-menu {
	
}
.category-nav nav.nav-menu ul.category-list {
	display: flex;
	justify-content: space-between;
}
.category-nav nav.nav-menu ul.category-list li {
	width: calc(100% / 6 - 18px);
	text-align: center;
}
.category-nav nav.nav-menu ul.category-list li a {
	display: inline-block;
}
.category-nav nav.nav-menu ul.category-list li a span {
	display: inline-block;
    background: none !important;
	color: #333;
    font-size: 1.5rem;
    line-height: 1.4;
    margin-top: 12px;
}

.category-nav nav.nav-menu .category-select {
		display: none;
	}

@media screen and (max-width: 1194px) {
	.category-nav nav.nav-menu ul.category-list {
		max-width: 573px;
		margin: -18px auto 0;
		flex-wrap: wrap;
		justify-content: center;
	}
	.category-nav nav.nav-menu ul.category-list li {
		width: calc(100% / 3);
		margin-top: 18px;
	}
	.category-nav nav.nav-menu ul.category-list li a {
		max-width: 150px;
	}
}
@media screen and (max-width: 768px) {
	.category-nav nav.nav-menu ul.category-list {
		display: none;
	}
	
	.category-nav nav.nav-menu .category-select {
		display: block;
	}
	.category-nav nav.nav-menu .category-select select {
		display: block;
		position: static;
		padding: 18px 80px 18px 18px;
		background: none;
		width: 100%;
		color: #000;
		border: 1px solid #FFAE00;
		border-radius: 60px;
		background: url(../images/icon/select-arrow.svg) no-repeat;
		background-position: center right 9px;
		background-size: 38px;
	}
	
	.category-select select {
    width: 100%;
  }
	
}


/****************************************
 * p-media.php
*****************************************/

.p-media {
	background: #FFF0EF;
}
.p-media h3 {
	position: absolute;
	left: 33px;
    top: -25px;
	display: inline-block;
	background: #FFF;
	color: #FFC0BE;
	border: 5px solid #FFC0BE;
	padding: 5px 30px;
	margin: 0 !important;
	font-size: 2em !important;
	line-height: 1.3 !important;
	font-weight: bold !important;
	border-radius: 50px;
}
.p-media .media-box span.program {
	position: absolute;
	bottom: -15px;
    right: 33px;
    background: #FFF;
    padding: 5px 30px;
    border-radius: 50px;
	border: 5px solid #FFC0BE;
}
.p-media .media-box {
	text-align: center;
	background-color: #FFC0BE;
	background-image: url(images/p-media/media-box-bg-min.png);
	background-repeat: no-repeat, no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: 8px;
	line-height: 1;
	position: relative;
	min-height: 480px;
	box-shadow: 0 0 2px 1px rgba(0,0,0,.2);
}
.p-media .media-box .media-box-in {
	position: absolute;
    width: 670px;
    height: 375px;
	top: 60px;
    left: 0;
    right: 0;
    margin: auto;
}
.p-media .youtube-box {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.p-media .youtube-box iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 670px;
	height: 375px;
	border-radius: 8px;
}
.p-media .youtube-box .youtube-video {
	position: absolute;
	width: 670px;
	height: 375px;
	top: 0;
}
.p-media .youtube-box .youtube-video img {
	width: 100%;
	height: auto;
	border-radius: 8px;
}
.p-media .youtube-box .youtube-video::before {
	content: "";
	position: absolute;
	background: url(images/p-media/play-min.png) no-repeat;
	background-position: center;
	background-size: 200px;
    width: 200px;
    height: 150px;
    left: 0;
    right: 0;
    margin: auto;
    top: 31%;
}
.p-media .youtube-box .youtube-video img:hover{
	cursor: pointer;
	width: 670px;
	height: 375px;
	box-sizing: border-box;
	border-radius: 8px;
}
.p-media .youtube-box .youtube-video:hover::before { /* ホバー時アイコンの色変える */
	background: url(images/p-media/play-on-min.png) no-repeat;
	background-position: center;
	background-size: 200px;
	transition:.5s;
}

@media screen and (max-width: 768px) {
	.p-media h3 {
		font-size: 1.6em !important;
	}
}
@media screen and (max-width: 559px) {
	.p-media .media-box .media-box-in,
	.p-media .youtube-box .youtube-video {
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	.p-media h3 span {
		top: 68px !important;
	}
	.p-media .media-box {
		background: #FED8B7;
		min-height: 320px;
	}
	.p-media .media-box .media-box-in {
		width: 92%;
		height: auto;
	}
	.p-media .youtube-box {
		padding-top: 51.25%;
	}
	.p-media .youtube-box .youtube-video {
		width: 100%;
		height: auto;
	}
	.p-media .youtube-box .youtube-video img {
		width: 100%;
		height: auto;
	}
	.p-media .youtube-box iframe {
		width: 100%;
		height: auto;
	}
	.p-media .media-box p {
		width: 92%;
		padding: 7px 17px;
		line-height: 1.3;
		margin: 30px auto 0;
	}
}
@media screen and (max-width: 430px) {
	.p-media .youtube-box .youtube-video::before {
		font-size: 35px;
		padding: 20px;
	}
}
@media screen and (max-width: 380px) {
	.p-media .media-box {
		min-height: 300px;
	}
}
@media screen and (max-width: 320px) {
	.p-media h3 {
		font-size: 1.3em !important;
	}
	.p-media .media-box {
		min-height: 275px;
	}
}


