@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

:root {
	--basecolor: #FA863E; /*オレンジ*/ 
	--subcolor1: #F9F1ED; /*オレンジ薄*/
	--subcolor2: #BCADA3; /*ブラウン薄*/
	--textcolor: #2c2c2c; /*黒*/
	--linkcolor: #483C34; /*ブラウン*/
	--header-width: 300px;
	--padding60: 60px;
	--padding30: 30px;
	--padding18: 18px;
	--fontsize09: .9em;
}

body {
	color: #1C1B1A;
	font-size: 1.8rem;
	line-height: 1.8;
	font-weight: normal;
	font-family: "Noto Sans JP", verdana,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	letter-spacing: .05em;
}

@keyframes fogloop {
  from {
      background-position: 0 0;
  }
  to {
      background-position: 280vw 0; /*-1000px部分は画像の横幅と同じ数値*/
  }
}
svg {
	display: block;
	margin: -0.2px 0;
	position: relative;
	z-index: 1;
}
p.img img {
	border-radius: 12px;
}
p {
	margin: 0 0 1.6rem 0;
	padding: 0;
}
p:last-child {
	margin-bottom: 0;
}
p span {
}

@media screen and (max-width: 1194px) {
	body:before {
		animation: none;
	}
}
@media screen and (max-width: 834px) {
	body {
		line-height: 2;
	}
	
	:root {
		--padding60: 45px;
	}
}
@media screen and (max-width: 559px) {
	:root {
		--padding60: 30px;
		--padding30: 18px;
		--padding18: 12px;
		--fontsize09: .9em;
	}

	body {
		font-size: 1.6rem;
		line-height: 1.8;
	}
}
@media screen and (max-width: 440px) {
	:root {
	}
}
@media screen and (max-width: 320px) {
	
}


/* ***************************************
 * リンク
 * **************************************/

a {
	color: var(--linkcolor);
}
a.noopacity,
a.noopacity img {
	opacity: 1 !important;
}
a img {
	transition: all .3s;
	-webkit-transition: all .3s;
}


/* 別ウィンドウリンク
 * **********************************************/

a.tabs,
span.tabs {
	display: inline-block !important;
	position: relative;
	padding-right: 18px;
	margin-right: 6px;
	line-height: 1;
	height: 1em;
}
a.tabs:after,
span.tabs:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url(../images/common/icon_tabBlack.webp) no-repeat;
	background-size: 100%;
	width: 12px;
	height: 12px;
}
a.tabs.white:after,
span.tabs.white:after {
	background: url(../images/common/icon_tabWhite.webp) no-repeat;
	background-size: 100%;
}


/* テキストリンク
 * **********************************************/

a.btn-text {
	text-decoration: underline;
}


/* ページボタン
 * **********************************************/

.btn-page {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	min-width: 360px;
    max-width: 360px;
    width: 50%;
	height: 74px;
	border-radius: 4px;
	background: #C0C0C0;
	color: #FFF;
	text-decoration: none;
	position: relative;
	z-index: 0;
}
.btn-page:hover {
	opacity: 1;
	background: #B2B2B2;
	box-shadow: 0 0 14px rgba(102, 102, 102, 0.2);
}

@media screen and (max-width: 559px) {
	.btn-page {
		min-width: 280px;
		max-width: 380px;
		width: 80%;
	}
}

/* 大きいページボタン
 * **********************************************/

a.btn-wide {
	    max-width: 460px;
    background: #FFF;
	color: var(--linkcolor);
    width: 100%;
    display: inline-block;
    margin: 0 auto;
    border-radius: 4px;
    border: 1px solid var(--linkcolor);
    padding: 28px 2em;
    line-height: 1;
    text-align: left;
	font-weight: 600;
	position: relative;
}
a.btn-wide:before {
	content: "";
	position: absolute;
	right: 2em;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/icon/arrow-link-BRN.svg) no-repeat;
	background-size: 100%;
	width: 18px;
	height: 18px;
}
a.btn-wide:hover {
	opacity: 1;
	background: var(--linkcolor);
	color: #FFF;
}
a.btn-wide:hover:before {
	background: url(../images/icon/arrow-link-FFF.svg) no-repeat;
	background-size: 100%;
}
a.btn-wide span {
	line-height: 1.4;
}



/* ボタンリスト */
ul.btn_list a {
	display: block;
}
ul.btn_list li {
	border-radius: 12px;
    box-shadow: 0 0 14px rgba(102, 102, 102, 0.2);
    transition: all .3s ease;
}
ul.btn_list li:hover {
	transform: translateY(-3px);
}
ul.btn_list a:hover,
ul.btn_list li img:hover {
	opacity: 1;
}

@media screen and (max-width: 834px) {
	
}
@media screen and (max-width: 559px) {
	
	a.btn-wide:before {
		right: 22px;
	}
	
	
	/* ボタンリスト */
	ul.btn_list li {
		box-shadow: 0 0 18px rgba(102, 102, 102, 0.2);
	}
}
@media screen and (max-width: 440px) {
}
@media screen and (max-width: 320px) {
}


/* ***************************************
 * リスト
 * **************************************/

table {
	table-layout: fixed;
}
dl,
dt,
dd {
	margin: 0;
	padding: 0;
}
ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul ul{
	margin-left: 1em;
}


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

@media screen and (min-width: 769px) {
	.pc {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}


/* ***************************************
 * レイアウト
 * **************************************/

header {
	background: url(../images/front-page/mv.webp) no-repeat;
    background-size: cover;
    background-position: bottom center;
    background-attachment: fixed;
	padding-bottom: 6vw;
}
header.headr-front-page {
	padding-bottom: 480px;
}


@media screen and (max-width: 1194px) {
	
}
@media screen and (max-width: 768px) {
	
}
@media screen and (max-width: 768px) {
	
}

main {
	position: relative;
	z-index: 2;
	padding: 60px 0 120px;
	background: #FFF;
	position: relative;
}
main::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: -10px;
    left: 0;
    right: 0;
    background-color: #FFF;
    transform: skewY(-3deg);
    z-index: -1;
}
main::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--basecolor);
    transform: skewY(3deg);
    z-index: -2;
}
.inner {
	max-width: 1240px;
	padding: 0 30px;
	margin: 0 auto;
}
.inner__nr {
	width: 980px;
	padding: 0 auto 30px;
	margin: 0 auto;
}
.inner__wd {
	max-width: 1600px;
	padding: 0;
	margin: 0 auto;
}

article {
	width: 100%;
}
section {
	padding: 90px 0;
}
.content {
	margin: 0 auto 0;
	padding: 60px 0 120px;
}
.content.content-flex {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.content.content-flex .content-col {
	order: 2;
	width: 65%;
	max-width: 780px;
}
.content.content-flex aside {
	order: 1;
	width: 25%;
	max-width: 265px;
}

.block:not(:first-child) {
    margin-top: 90px;
}

@media screen and (max-width: 1600px) {
	.inner__wd {
		padding: 0 60px;
	}
}
@media screen and (max-width: 1194px) {
	.inner {
		width: 100%;
		padding: 0 60px;
	}
	.inner__wd {
		width: 100%;
		padding: 0 60px;
	}
	main::before {
		    transform: skewY(-4deg);
	}
	main::after {
		    transform: skewY(4deg);
	}
	.summary {
		width: 100%;
	}
	
	.content.content-flex .content-col {
		width: 75%;
		padding-left: 42px;
	}
	.content.content-flex aside {
		width: 25%;
	}
}
@media screen and (max-width: 1032px) {
	.content.content-flex {
		flex-direction: column;
	}
	.content.content-flex .content-col {
		width: 100%;
		max-width: 100%;
		padding-left: 0;
		margin-top: 60px;
	}
	.content.content-flex aside {
		width: 100%;
		max-width: 100%;
	}
	
	#works .content.content-flex .content-col,
	#single-works .content.content-flex .content-col,
	#single-column .content.content-flex .content-col,
	#archive-column .content.content-flex .content-col {
		order: 1;
		margin-top: 0;
	}
	#works .content.content-flex aside,
	#single-works .content.content-flex aside,
	#single-column .content.content-flex aside,
	#archive-column .content.content-flex aside {
		order: 2;
		margin-top: 60px;
	}
}
@media screen and (max-width: 980px) {
	.inner__nr,
	.inner__wd {
		width: 100%;
		padding: 0 60px;
	}
	main::before {
		bottom: -18px;
	}
}
@media screen and (max-width: 768px) {
	section {
		padding: 75px 0;
	}
	.inner,
	.inner__nr,
	.inner__wd {
		padding: 0 45px;
	}
	
	main {
		padding: 42px 0 90px;
	}
	main::before {
		transform: skewY(-5deg);
	}
	main::after {
		transform: skewY(5deg);
	}
	.content {
		padding: 42px 0 90px;
	}
	.block:not(:first-child) {
		margin-top: 60px;
	}
}
@media screen and (max-width: 559px) {
	section {
		padding: 60px 0;
	}
	.inner,
	.inner__nr,
	.inner__wd {
		padding: 0 30px;
	}
	.content {
		padding: 30px 0 60px;
	}
}
@media screen and (max-width: 440px) {
	
}
@media screen and (max-width: 380px) {
	.inner,
	.inner__nr,
	.inner__wd {
		padding: 0 20px;
	}
}
@media screen and (max-width: 320px) {
	section {
		padding: 45px 0;
	}
}


/* YouTube 埋め込み
 * ***************************************/

.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube.middle {
	width: 60%;
	margin: 0 auto;
}
.youtube iframe {
	width: 100%;
	height: 100%;
	border: 4px solid #FFF;
	border-radius: 12px;
    box-shadow: 0 0 14px rgba(102, 102, 102, .3);
	position: relative;
	z-index: 1;
}

.youtube_effect {
	position: relative;
}
.youtube_effect:before {
	content: "";
    display: inline-block;
    position: absolute;
    bottom: -120px;
    left: 0;
    background: url(../images/common/effectLine_gold.webp) no-repeat;
    background-size: cover;
    width: 420px;
    height: 420px;
}
.youtube_effect:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: -120px;
    right: 0;
    background: url(../images/common/effectLine_gold.webp) no-repeat;
    background-size: cover;
    width: 420px;
    height: 420px;
}


@media screen and (max-width: 1194px) {
}
@media screen and (max-width: 960px) {
}
@media screen and (max-width: 834px) {
	.youtube.middle {
		width: 75%;
	}
	.youtube_effect:before {
		left: -30px;
		width: 330px;
		height: 330px;
	}
	.youtube_effect:after {
		right: -30px;
		width: 330px;
		height: 330px;
	}
}
@media screen and (max-width: 560px) {
	.youtube.middle {
		width: 100%;
	}
	.youtube_effect:before {
		background: url(../images/common/effectLine_gold_sp.webp) no-repeat;
		background-size: cover;
		background-position: center;
		left: -60px;
		bottom: -90px;
		width: 220px;
		height: 220px;
	}
	.youtube_effect:after {
		background: url(../images/common/effectLine_gold_sp.webp) no-repeat;
		background-size: cover;
		background-position: center;
		top: -90px;
		right: -60px;
		width: 220px;
		height: 220px;
	}
}
@media screen and (max-width: 440px) {
}
@media screen and (max-width: 320px) {
}



/* common
 * ***************************************/

#common .header-fixed .header_flex___logo {
	width: calc(100% / 2);
	text-align: center;
}
#common .header-fixed .header_flex___logo a {
	display: inline-block !important;
}


@media screen and (max-width: 834px) {
	#common .header_flex {
		flex-direction: row;
	}
	#common .header_flex .header_flex___logo {
		
	}
}


/* ***************************************
 * ヘッダー
 * ***************************************/

header .header-top {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 30px 2.66667vw 30px 2.66667vw;
	width: 100%;
	height: auto;
}
header .header-top .header-image {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 280px;
    width: 14%;
	height: 100%;
}
header .header-top .header-image .header-logo {
	line-height: 1;
}
header .header-top .header-nav {
	max-width: 1280px;
    width: 80%;
	background: #FFF;
	border-radius: 18px;
}

header #navigation {

}
header .header-top .header-inquiry {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 16px;
	padding: 12px 30px;
}
header .header-top .header-inquiry p.hb-faq {
	width: 160px;
	max-width: 150px;
	font-size: .9rem;
	margin: 0;
	text-align: center;
}
header .header-top .header-inquiry p.hb-faq a.hb-faq-link {
	display: inline-block;
	color: red;
	border-bottom: 1px solid;
}
header .header-top .header-inquiry a.hb-phone {
	
}
header .header-top .header-inquiry a.hb-phone span.number {
	display: inline-block;
	font-size: 2.4rem;
	padding-left: 24px;
	line-height: 1;
	position: relative;
}
header .header-top .header-inquiry a.hb-phone span.number:before {
	content: '';
	position: absolute;
	top: calc(50% + 2px);
	left: 0;
	transform: translateY(-50%);
	display: inline-block;
	width: .8em;
	height: .8em;
	background: url(../images/common/icon-phone.webp) no-repeat;
	background-size: 100%;
}
header .header-top .header-inquiry a.hb-phone p.open {
	margin: 0;
}
header .header-top .header-inquiry p.open {
	font-size: .6em;
    text-align: center;
	margin: 0 -12px 0 0
}
header .header-top .header-inquiry p.open span {
	display: block;
}
header .header-top .header-inquiry a.hb-form {
	
}
header .header-top .header-inquiry a.hb-form span {
	display: block;
    background: #ccc;
    padding: 9px 28px;
	font-size: 1.6rem;
	line-height: 1.4;
    border-radius: 40px;
}


header .header-bottom {
	display: none;
}

@media screen and (max-width: 1441px) {
	header .header-top {
		padding: 30px 1.04167vw;
	}
}
@media screen and (max-width: 1024px) {
	header .header-top {
		flex-direction: column;
	}
	header .header-top .header-image {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
	}
	header .header-top .header-image .header-logo {
		width: 20%;
		max-width: 180px;
		margin: 0 auto;
	}
	header .header-top .header-nav {
		width: 100%;
		max-width: 100%;
		margin-top: 12px;
	}
	header #navigation.navigation-pc {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	header .header-top {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 0 0 2.66667vw;
		width: 100%;
	}
	
	header .header-bottom {
		display: block;
	}
	header .header-bottom .header-bottom-flex {
		display: flex;
		justify-content: space-between;
        align-items: stretch;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___phone {
		width: 50%;
		background: #ededed;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___web {
		width: 50%;
		background: #000;
		display: flex;
        align-items: center;
        justify-content: center;
	}
	header .header-bottom .header-bottom-flex a {
		display: block;
        text-align: center;
        padding: 12px;
		line-height: 1;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___phone a.hb-phone {
		display: flex;
        justify-content: center;
        align-items: center;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___phone a.hb-phone span.number {
		        font-size: 1.6em;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___phone a.hb-phone img.hours {
		margin-left: 12px;
	}
	
	header .header-bottom .header-bottom-flex .header-bottom-flex___web a.hb-web {
		color: #FFF;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___web a.hb-web span {
		font-size: 1.2em;
	}
}
@media screen and (max-width:560px) {
	header .header-bottom .header-bottom-flex {
		flex-direction: column;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___phone {
		width: 100%;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___web {
		width: 100%;
	}
}
@media screen and (max-width:440px) {
	header .header_flex .header_flex___logo {
		width: 120px;
	}
}
@media screen and (max-width: 320px) {
	header .header_flex {
		padding: 18px 18px;
	}
}


/****************************************
 * 上部固定ヘッダー
*****************************************/

.header-fixed {
	background: #FFF;
	color: #333;
	position: fixed;
	top: -100px;
	left: 0;
	text-align: center;
	width: 100%;
	margin: 0 auto;
	opacity:0;
	z-index: 1000;
	box-shadow: 0 0 6px rgb(0 0 0 / 20%);
}
.header-fixed .fix_header_flex {
	width: 100%;
	display: flex;
	align-items: center;
}
.header-fixed .fix_header_flex .fix_header_flex___logo {
	width: 120px;
}
.header-fixed .fix_header_flex .fix_header_flex___nav {
	width: calc(100% - 120px);
	padding-left: 60px;
}
.header-fixed .fix_header_flex .fix_header_flex___nav .fix_header_booking {
	width: 440px;
	margin-left: auto;
}
.header-fixed .fix_header_flex .fix_header_flex___nav .fix_header_booking ul {
	display: flex;
}
.fix_header .fix_header_flex .fix_header_flex___nav .fix_header_booking ul li {
	width: calc((100% / 2) - 14px);
}
	
.fix_header nav#fix_header {
	width: 100%;
}
.fix_header ul {
	list-style: none;
    margin: 0;
    padding: 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
}
.fix_header ul > li {
	line-height: 1;
	font-size: 1em;
	position: relative;
	margin-left: 18px;
}
.fix_header ul li:first-child {
	margin-left: 0;
}
.fix_header ul li:hover {
	
}
.fix_header ul.sub-menu {
	width: 100%;
	background: #F1F0ED;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: absolute;
	top: 100%;
	left: 0;
	padding: 0;
	margin: 0;
	transition: all .4s ease;
	visibility: hidden;
	opacity: 0;
	border-top: 2px solid #978e7c;
	z-index: 1;
}
.fix_header ul.sub-menu > li {
	width: 100%;
	text-align: center;
	line-height: 1;
	font-size: 1em;
	border-left: 1px solid #978e7c;
	border-right: 1px solid #978e7c;
	border-bottom: 1px solid #978e7c;
}
.fix_header ul li:hover ul.sub-menu {
	visibility: visible;
	opacity: 1;
}
.fix_header ul.menu > li > a {
	display: block;
	color: #000;
	font-size: .8em;
	padding-left: 12px;
	position: relative;
}
.fix_header ul.menu > li > a:before {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: #333;
    width: 1px;
    height: 0;
    transition: .3s;
}
.fix_header ul.menu > li > a:hover {
	color: #A07A51;
    opacity: 1;
}
.fix_header ul.menu > li > a:hover::before {
	height: 100%;
}

@media screen and (max-width: 1180px) {
	.fix_header ul.menu > li > a {
		
	}
	.fix_header ul li.home {
		width: calc(100% - 600px);
	}
	.fix_header .fix_header_flex .fix_header_flex___nav {
		padding-left: 45px;
	}
}
@media screen and (max-width: 1024px) {
	.fix_header {
		display: none;
	}
}


/****************************************
 * グローバルナビ
 * **************************************/

nav.general {
    max-width: 700px;
    width: 45%;
    margin-left: auto;
	z-index: 2;
}
nav.general .gnav_front {
	margin-right: 120px;
}
nav.general ul.gnav_front_list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: flex-end;
}
nav.general ul.gnav_front_list li {
	min-width: 150px;
	line-height: 2.3;
}
nav.general ul.gnav_front_list li a {
	display: block;
	text-align: center;
	font-family: ryo-display-plusn, serif;
	color: #FFF;
	padding: 18px;
}
nav.general ul.gnav_front_list li a span {
	display: block;
	font-family: "bodoni-moda-variable", sans-serif;
	font-size: 9px;
	font-weight: bold;
	text-align: center;
	margin-top: -6px;
}
nav.general ul.gnav li a:hover {
	opacity: 1;
	background: #D60079;
}

nav.general .gnav_back {}
nav.general .gnav_back .gnav_back_box {
	display: block;
	position: fixed;
	top: 0;
	right: -300px;
	bottom: 0;
	width: 300px;
	background: #ffffff;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 45px;
	-webkit-overflow-scrolling: touch;
	transition: .5s;
	z-index: 3;
}

nav.general .open .gnav_back_box {
	right: 0;
}
nav.general ul.gnav_back_list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #ededed;
}
nav.general ul.gnav_back_list li {
	text-align: center;
	border-top: 1px solid #ededed;
}
nav.general ul.gnav_back_list li span {
	display: block;
    font-family: ryo-gothic-plusn, sans-serif;
    font-size: 9px;
    font-weight: bold;
    text-align: center;
}
nav.general ul.gnav_back_list li a {
	display: block;
	padding: 18px 0;
	color: #E4007F;
	font-family: ryo-display-plusn, serif;
	font-size: 1.6rem;
}
nav.general ul.gnav_back_list li a span {
	font-family: "bodoni-moda-variable", sans-serif;
	font-size: 1rem;
}
.gnav_back_box .inner ul li a:hover {
	background: #e4e4e4;
}


@media screen and (max-width: 1194px) {
	nav.general .gnav_front {
		margin-right: 75px;
	}
	nav.general ul.gnav_front_list li {
		min-width: 105px;
	}
	nav.general ul.gnav_front_list li a {
		padding: 12px 18px;
	}
}
@media screen and (max-width: 960px) {
}
@media screen and (max-width: 834px) {
	.gnav_back_box {
		right: -240px;
		width: 240px;
	}
}
@media screen and (max-width: 768px) {
	nav.general .gnav_front {
		display: none;
	}
}
@media screen and (max-width: 440px) {
	nav.general .gnav_back .gnav_back_box {
		width: 280px;
	}
	nav.general ul.gnav_back_list li a {
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 380px) {
	nav.general .gnav_back .gnav_back_box {
		width: 260px;
		padding: 30px;
	}
	nav.general ul.gnav_back_list li a {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 380px) {
	nav.general .gnav_back .gnav_back_box {
		width: 240px;
	}
	nav.general ul.gnav_back_list li a {
		padding: 12px 0;
	}
}


/* ハンバーガー 
 * **************************************/

nav.general .toggle_btn {
	display: block;
	position: fixed;
	top: 60px;
	right: 60px;
	width: 60px;
	height: 30px;
	transform: translate(0, 0);
	transition: all .5s;
	cursor: pointer;
	z-index: 3;
}
nav.general .open .toggle_btn {
	right: 330px;
}
nav.general .toggle_btn span {
	display: block;
	position: absolute;
	right: 0;
	width: 30px;
	height: 2px;
	background-color: #FFF;
	transition: all .5s;
}
nav.general .toggle_btn span:nth-child(1) {
	top: 5px;
	width: 60px;
	animation: equalizer01 7000ms infinite;
}
nav.general .toggle_btn span:nth-child(2) {
	top: 15px;
	width: 30px;
	animation: equalizer02 5000ms infinite;
	animation-delay: 0.33s;
}
nav.general .toggle_btn span:nth-child(3) {
	top: 25px;
	width: 20px;
	animation: equalizer02 5000ms infinite;
}
nav.general .open .toggle_btn span {
	background-color: #fff;
	width: 30px;
}
nav.general .open .toggle_btn span:nth-child(1) {
	transform: translate(0, 10px) rotate(-45deg);
	animation: unset;
}
nav.general .open .toggle_btn span:nth-child(2) {
	opacity: 0;
	animation: unset;
}
nav.general .open .toggle_btn span:nth-child(3) {
	transform: translate(0, -10px) rotate(45deg);
	animation: unset;
}

@keyframes equalizer01 {
	0% { width: 70%; }
	10% { width: 50%; }
	20% { width: 100%; }
	30% { width: 10%; }
	40% { width: 50%; }
	50% { width: 70%; }
	60% { width: 50%; }
	70% { width: 10%; }
	80% { width: 100%; }
	90% { width: 10%; }
	100% { width: 70%; }
}
@keyframes equalizer02 {
	0% { width: 30%; }
	10% { width: 20%; }
	20% { width: 40%; }
	30% { width: 10%; }
	40% { width: 20%; }
	50% { width: 30%; }
	60% { width: 20%; }
	70% { width: 10%; }
	80% { width: 40%; }
	90% { width: 10%; }
	100% { width: 30%; }
}

@media screen and (max-width: 1194px) {
	nav.general .toggle_btn {
		top: 42px;
		right: 30px;
	}
}
@media screen and (max-width: 768px) {
	.open .toggle_btn {
		right: 260px;
	}
	nav.general .toggle_btn span {
		background: #E4007F;
	}
}
@media screen and (max-width: 560px) {
	nav.general .toggle_btn {
		top: 30px;
		right: 30px;
	}
	nav.general .toggle_btn span {
		background: #E4007F;
	}
}
@media screen and (max-width: 440px) {
	nav.general .toggle_btn {
		top: 24px;
	}
	nav.general .open .toggle_btn {
		right: 290px;
	}
}
@media screen and (max-width: 380px) {
	nav.general .open .toggle_btn {
		right: 275px;
	}
}
@media screen and (max-width: 380px) {
	nav.general .open .toggle_btn {
		right: 260px;
	}
}
@media screen and (max-width: 320px) {
	nav.general .open .toggle_btn {
		right: 250px;
	}
}



/* マスク 
 * **************************************/

nav.general #mask {
	visibility: hidden;
	opacity: 0;
	transition: all .3s ease;
}
nav.general .open #mask {
	visibility: visible;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: .7;
	z-index: 2;
	transition: all .3s ease;
	cursor: pointer;
}


@media screen and (max-width: 1024px) {
	
}



/* ***************************************
 * H要素
 * **************************************/

h1, h2, h3, h4, h5, h6 {
	font-family: "Noto Sans JP", verdana, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 600;
	line-height: 1.4;
	margin: 0;
	text-align: center;
	color: var(--textcolor);
}

h2 { font-size: 4.2rem; margin-bottom: 48px; }
h3 { text-align: left; font-size: 3.2rem; margin-bottom: 30px; }
h4 { text-align: left; font-size: 2.6rem; margin-bottom: 18px; }
h5 { text-align: left; font-size: 2rem; margin-bottom: 18px; }
h6 { text-align: left; font-size: 2rem; margin-bottom: 18px; }

#front-page .main-title { font-size: 4.8rem; }
#front-page .main-subtitle { font-size: 3.8rem; }

.main-title {
	text-align: center;
}
.main-title span.jp {
	display: block;
	font-weight: 900;
}
.main-title span.en {
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--subcolor2);
}

.block-title {
	text-align: left;
}
.block-title span {
	display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 14px;
	text-transform: uppercase;
	color: #BCADA3;
}

@media screen and (max-width: 1194px) {
	h1 { font-size: clamp(2.8rem, 1.697rem + 5.5vw, 5.8rem);}
	h2 {font-size: 3.6rem; }

	#front-page .main-title { font-size: clamp(3rem, 0.837rem + 2.817vw, 4.2rem); }
	#front-page .main-subtitle { font-size: 3.8rem; }
}
@media screen and (max-width: 768px) {
	h2 { font-size: 3.2rem; }
	h3 { font-size: 3rem; }
	
	#front-page .main-title { font-size: clamp(2.2rem, 1.2rem + 3.125vw, 3.6rem); }
	#front-page .main-subtitle { font-size: 3.8rem; }
}
@media screen and (max-width: 559px) {
	h2 { font-size: 2.8rem; margin-bottom: 45px; }
	h3 { font-size: 2.6rem; }
	h4 { font-size: 2.2rem; }
	h5 { font-size: 1.8rem; }
	h6 { font-size: 1.8rem; }
	
	.block-title { color: var(--basecolor); }
}
@media screen and (max-width: 440px) {
	h2 { font-size: 2.6rem; }
	h3 { font-size: 2.2rem; }
	h4 { font-size: 2rem; }
	h5 { font-size: 1.6rem; }
	h6 { font-size: 1.6rem; }
}
@media screen and (max-width: 380px) {
	h2 { font-size: 2.5rem; }
	h3 { font-size: 2.1rem; }
	h4 { font-size: 1.9rem; }
	h5 { font-size: 1.5rem; }
	h6 { font-size: 1.5rem; }
}


/****************************************
 * パンくず
 * **************************************/

.breadcrumbs_area {
	padding: 18px 0;
}
.breadcrumbs {
	font-size: .7em;
}
.breadcrumbs a {
	color: #06140C;
}
.breadcrumbs span.hyphen {
	padding: 0 12px;
}
.breadcrumbs span.current-item {
	font-weight: 500;
	color: var(--basecolor);
}

@media screen and (max-width: 560px) {
	.breadcrumbs {
		overflow-x: auto;
		white-space: nowrap;
	}
}
@media screen and (max-width: 560px) {
	
}


/* ********************************************
 * サイドバー
 * ***************************************** */

aside.sticky {
	position: sticky;
    top: 10rem;
}
aside .aside-title {
	text-align: center;
	font-size: 2rem;
	margin: 0 0 18px 0;
}
aside p.aside-more {
	margin-top: 30px;
	text-align: center;
}
aside p.aside-more {
	
}
aside ul.category-list {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #ccc;
}
aside ul.category-list li {
	width: 50%;
	border-bottom: 1px solid #ccc;
}
aside ul.category-list li a.js-category-link {
	display: block;
	text-align: center;
}
aside ul.category-list li:nth-child(odd) a.js-category-link {
	padding: 9px 12px 9px 12px;
	border-right: 1px solid #ccc;
}
aside ul.category-list li:nth-child(even) a.js-category-link {
	padding: 9px 12px 9px 12px;
}

#aside-tag {
	margin-top: 18px;
}
#aside-tag .tag-list {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
}

#aside-tag .tag-list__item {
	display: inline-block;
	margin: 0;
	padding: 0;
	line-height: 1;
}
#aside-tag .tag-list__item:not(:first-child) {
	margin-top: 9px;
}
#aside-tag a.tag-item,
.works_tag a.tag-item {
	display: inline-block;
}
#aside-tag span.tag-name,
.works_tag span.tag-name {
	display: inline-block;
	line-height: 1;
    font-size: 13px;
    background: var(--subcolor2);
    border-radius: 4px;
    padding: 9px 6px;
    color: #FFF;
}

#aside-tag .tag-list__item + .tag-list__item::before {
	content: none;
}

.aside-contact {
	margin-top: 60px;
	    text-align: center;
}
.aside-contact a.logo {
	display: inline-block;
    width: 80%;
    max-width: 180px;
    margin: 0 auto;
}
.aside-contact .aside-contact-info {
	text-align: center;
	margin-top: 12px;
}
.aside-contact .aside-contact-info p.info-contactus {
	text-align: center;
	margin-bottom: 9px;
}
.aside-contact .aside-contact-info a.phone {
	    display: inline-block;
    width: 80%;
    max-width: 200px;
    margin: 0 auto;
}

.aside-contact .aside-contact-info p.info-opneclose {
	    margin: 0;
    text-align: center;
    font-size: .8em;
}
.aside-contact .aside-contact-info p.info-opneclose span {
	
}
.aside-contact .aside-contact-info a.info-contact-button {
	display: inline-block;
    width: 100%;
    background: var(--basecolor);
    margin-top: 12px;
    padding: 12px 18px 12px 18px;
    border-radius: 4px;
    position: relative;
    text-align: left;
}
.aside-contact .aside-contact-info a.info-contact-button:before {
	content: "";
	display: inline-block;
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
	background: url(https://kalmia-ad-com.majestic.work/wp-content/themes/kalmia-ad.com_mj2025.1.0/images/icon/arrow-link-FFF.svg) no-repeat;
	background-size: 100%;
	width: 18px;
	height: 18px;
}
.aside-contact .aside-contact-info a.info-contact-button span {
	display: inline-block;
	color: #FFF;
	font-size: .8em;
	font-size: .8em;
    font-weight: 600;
}
.aside-contact .aside-contact-info-inbox {
	margin-top: 18px;
    font-size: .8em;
}
.aside-contact .aside-contact-info-inbox img.company-BRN {
	max-width: 120px;
    width: 100%;
    margin: 0 auto 6px;
}

@media screen and (max-width: 1032px) {
	aside.sticky {
		position: static;
	}
	aside p.aside-more,
	.aside-contact {
		display: none;
	}
}


/* ページ内ジャンプ
 * ***************************************/

aside ul.jump {
	list-style: none;
	padding: 0;
	margin: 0;
	background: var(--subcolor1);
}
aside ul.jump > li {
	overflow: hidden;
	font-size: .8em;
	position: relative;
}
aside ul.jump > li:not(:last-child) {
	border-bottom: 1px solid #F2E1D8;
}
aside ul.jump > li:nth-child(4n) {
	margin-right: 0;
}
aside ul.jump > li:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 1em;
	transform: translateY(-50%);
	background: url(../images/common/icon_arrowMain.webp) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 16px;
	height: 16px;
}
aside ul.jump > li a {
	overflow: hidden;
	display: block;
	font-weight: 500;
	padding: 16px 18px 16px 26px;
}
aside ul.jump > li a:hover {
	opacity: 1;
	color: var(--basecolor);
	font-weight: 600;
}

aside ul.jump-sub {
	margin: 0 0 16px 26px;
}
aside ul.jump-sub > li {
	font-size: .9em;
}
aside ul.jump-sub > li:not(:first-child) {
	margin-top: 12px;
}
aside ul.jump-sub > li a {
	padding: 0;
}

/* 開閉 */
aside ul.jump > li .jump-parent {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
aside ul.jump > li .jump-parent > a {
	flex: 1;
}
aside ul.jump > li button.jump-toggle {
	position: relative;
	width: 56px;
	height: 1em;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	flex-shrink: 0;
}
aside ul.jump > li button.jump-toggle::before,
aside ul.jump > li button.jump-toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 1px;
	background: currentColor;
	transform: translate(-50%, -50%);
}
aside ul.jump > li button.jump-toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: transform .2s;
}
aside ul.jump > li.has-sub.is-open .jump-toggle::after {
	transform: translate(-50%, -50%) rotate(0);
}
/* 通常：PCでもトグル */
aside ul.jump > li.has-sub > ul.jump-sub {
	display: none;
}
aside ul.jump > li.has-sub.is-open > ul.jump-sub {
	display: block;
}
/* sp-toggleだけPCでは常時表示 */
aside ul.jump > li.has-sub.sp-toggle > ul.jump-sub {
	display: block;
}
aside ul.jump > li.has-sub.sp-toggle > .jump-parent > .jump-toggle {
	display: none;
}


@media screen and (max-width: 1032px) {
	aside ul.jump {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	aside ul.jump > li:nth-child(odd) {
		border-right: 1px solid #F2E1D8;
	}
	aside ul.jump-sub {
		margin: 0 0 16px calc(26px + 1em);
	}
	aside ul.jump-sub > li {
		font-size: 1em;
	}
	aside ul.jump-sub > li a {
		padding: 0 18px 0 0;
	}
}
@media screen and (max-width: 768px) {
	
}
@media screen and (max-width: 559px) {
	aside ul.jump {
		grid-template-columns: repeat(1, 1fr);
	}
	aside ul.jump > li:nth-child(odd) {
		border-right: none;
	}
	aside ul.jump > li.has-sub.sp-toggle > ul.jump-sub {
		display: none;
	}
	aside ul.jump > li.has-sub.sp-toggle.is-open > ul.jump-sub {
		display: block;
	}
	/* スマホではsp-toggleもトグル */
	aside ul.jump > li.has-sub.sp-toggle > .jump-parent > .jump-toggle {
		display: block;
	}
}
@media screen and (max-width: 440px) {

}


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

.dot {
	display: inline !important;
    margin: 0 -6px !important;
    font-size: 100% !important;
}
.dotV {
	display: inline !important;
    margin: -6px 0 !important;
    font-size: 100% !important;
}
.bold {
	color: var(--basecolor);
	font-weight: 500;
}
.button {
	margin-top: 60px;
	text-align: center;
}
.small {
	font-size: .8em;
}
img.e-mail {
	    width: auto;
    height: 1em;
    display: inline;
    vertical-align: middle;
	margin: 0 6px;
}

/*見出し
*****************************************/
.page_topimage h2.topimage_title {
	text-align: center;
	font-size: 2.6em;
	color: #FFF;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	margin: auto;
	transform: translateY(-50%) translateX(0);
}
.page_topimage h2.topimage_title span {
	display: block;
	text-transform: uppercase;
	font-size: .5em;
	font-weight: bold;
}

@media screen and (max-width: 560px) {
	.page_topimage h2.topimage_title {
		font-size: 2em;
	}
	.pagecontents_title {
		font-size: 1.3rem;
		padding-left: 30px;
	}
}
@media screen and (max-width: 440px) {
	.page_topimage h2.topimage_title {
		font-size: 1.8em;
	}
	.pagecontents_title {
		padding-left: 0;
	}
}
@media screen and (max-width: 320px) {
	.page_topimage h2.topimage_title {
		font-size: 1.6em;
	}
}


/***************************************
 * ページナビゲーション
 * *************************************/

nav.navigation {
	overflow: hidden;
	float: none;
	max-width: 100%;
	text-align: center;
	padding: 0;
	margin: 60px 0 0;
}
nav.navigation h2.screen-reader-text {
	display: none;
}
nav.navigation .nav-links {
	width: 100%;
	display: flex;
    justify-content: center;
}
nav.navigation .page-numbers {
	display: inline-block;
	margin: 0 18px;
	padding: 0 1em;
	border-radius: 4px;
	width: auto;
	height: 48px;
	line-height: 48px;
}
nav.navigation .nav-links span.current {
	background: var(--subcolor1);
	color: var(--linkcolor);
}
nav.navigation a {
	display: inline-block !important;
	color: #FFF;
}
nav.navigation .nav-links a.page-numbers {
	background: var(--subcolor2);
	color: #FFF;
}
nav.navigation .nav-links a.prev,
nav.navigation .nav-links a.next {
	width: auto;
}

@media screen and (max-width: 768px) {
	nav.navigation {
		display: block;
	}
}
@media screen and (max-width: 560px) {
	nav.navigation .page-numbers {
		margin: 0 6px;
		padding: 0 12px;
	}
}


/*****************************************
 * フッター
 * ***************************************/

footer {
	margin-top: -6%;
	overflow: hidden;
    background: #FFF;
}
footer .footer-outline {
	padding-top: 6%;
	position: relative;
	z-index: 2;
}
footer .footer-outline::before {
    content: '';
    position: absolute;
    top: 9%;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--linkcolor);
    transform: skewY(-3deg);
    z-index: -1;
}
footer .footer-outline::after {
    content: '';
    position: absolute;
    top: 9%;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--basecolor);
    transform: skewY(3deg);
    z-index: -2;
}
footer .footer-background {
	padding: 30px 0 60px;
	margin-top: 30px;
	background: var(--linkcolor);
}

@media screen and (max-width: 1194px) {
	footer {
		margin-top: -9%;
	}
	footer .footer-outline {
		padding-top: 9%;
	}
	footer .footer-outline::before {
		transform: skewY(-4deg);
	}
	footer .footer-outline::after {
		transform: skewY(4deg);
	}
}
@media screen and (max-width: 960px) {
	footer .footer-outline::before {
		top: 8%;
	}
	footer .footer-outline::after {
		top: 8%;
	}
}
@media screen and (max-width: 768px) {
	footer {
		margin-top: -13%;
	}
	footer .footer-outline {
		padding-top: 13%;
	}
	footer .footer-outline::before {
		transform: skewY(-5deg);
	}
	footer .footer-outline::after {
		transform: skewY(5deg);
	}
	footer .footer-background {
		padding: 0 0 60px;
	}
}
@media screen and (max-width: 559px) {
	footer {
		margin-top: -19%;
	}
	footer .footer-outline {
		padding-top: 19%;
	}
}
@media screen and (max-width: 440px) {
	footer {
		margin-top: -24%;
	}
	footer .footer-outline {
		padding-top: 24%;
	}
}
@media screen and (max-width: 380px) {
	footer {
		margin-top: -26%;
	}
	footer .footer-outline {
		padding-top: 26%;
	}
}
@media screen and (max-width: 320px) {
	footer {
		margin-top: -32%;
	}
	footer .footer-outline {
		padding-top: 28%;
	}
}



/* ロゴとインフォメーション *
 * ******************************************/

footer .footer-logo {
	display: flex;
    justify-content: center;
    align-items: center;
}
footer .footer-logo .footer-logo___logo {
	width: 20%;
	max-width: 220px;
}
footer .footer-logo .footer-logo___info {
	width: 80%;
	max-width: 580px;
	margin-left: 60px;
	color: #FFF;
}
footer .footer-logo a.logo-link {
	
}
footer .footer-logo img.yamamoto {
	display: block;
	max-width: 120px;
	width: 70%;
	margin-top: 12px;
	margin: 18px auto 0;
}
footer .footer-logo .footer-logo___info p.addr {
	
}
footer .footer-logo .footer-logo___info p.addr span.postcode {
	margin-right: 12px;
}
footer .footer-logo .footer-logo___info p.contact-info {
	display: flex;
    align-items: center;
}
footer .footer-logo .footer-logo___info p.contact-info span.phone {
	
}
footer .footer-logo .footer-logo___info p.contact-info span.open {
	font-size: .9em;
	margin-left: 6px;
}
footer .footer-logo .footer-logo___info p.contact-info span.open span.close {
	margin-left: 6px;
}
footer .footer-logo .footer-logo___info p.contact-fax {
	
}
footer .footer-logo .footer-logo___info p.contact-fax a.contact-web-link {
	display: inline-block;
	margin-left: 12px;
}
footer .footer-logo .footer-logo___info p.open-close {
	
}
footer .footer-logo .footer-logo___info p.ifno-memo {
	margin: 9px 0 0;
	line-height: 1;
}
footer .footer-logo .footer-logo___info p.ifno-memo span {
    padding-left: 16px;
    line-height: 1;
    font-size: .7em;
    position: relative;
}
footer .footer-logo .footer-logo___info p.ifno-memo span:before {
	content: "※";
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
	footer .footer-logo {
		flex-direction: column;
	}
	footer .footer-logo .footer-logo___logo {
		width: 60%;
		max-width: 280px;
	}
	footer .footer-logo .footer-logo___info {
		width: 100%;
		max-width: 100%;
		margin: 30px 0 0;
		text-align: center;
	}
	footer .footer-logo .footer-logo___info p.contact-info {
		justify-content: center;
	}
}
@media screen and (max-width: 559px) {
	footer .footer-logo .footer-logo___info p.contact-info {
		flex-direction: column;
	}
}


/* ナビゲーション *
 * ******************************************/

/* 上へ戻る */
footer .totop {
	width: 12%;
	max-width: 60px;
	position: fixed;
	bottom: 0;
	right: 0;
	line-height: 1;
	z-index: 3;
}

footer a {
	color: #FFF;
}
footer .footer-nav {
	margin-top: 60px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
	border-top: 1px solid #605146;
	padding-top: 50px;
	position: relative;
}
footer .footer-nav:before {
	content: "";
	position: absolute;
	top: -2px;
	background: #2D2621;
	width: 100%;
	height: 1px;
}
footer .footer-nav ul.footer-nav01,
footer .footer-nav ul.footer-nav02,
footer .footer-nav ul.footer-nav03 {
	
}
footer .footer-nav ul.footer-nav01 > li,
footer .footer-nav ul.footer-nav02 > li,
footer .footer-nav ul.footer-nav03 > li {
	
}
footer .footer-nav ul.footer-nav01 > li:not(:first-child),
footer .footer-nav ul.footer-nav02 > li:not(:first-child),
footer .footer-nav ul.footer-nav03 > li:not(:first-child) {
	margin-top: 18px;
}
footer .footer-nav ul.footer-nav01 > li a,
footer .footer-nav ul.footer-nav02 > li a,
footer .footer-nav ul.footer-nav03 > li a {
	display: inline-block;
}
footer .footer-nav ul.footer-nav03 > li a.border span {
	display: inline-block;
	border: 1px solid;
	padding: 5px 15px;
	border-radius: 6px;
	transition: all .3s ease-out;
}
footer .footer-nav ul.footer-nav03 > li a.border:hover {
	opacity: 1;
}
footer .footer-nav ul.footer-nav03 > li a.border:hover span {
	background: #FFF;
	color: var(--linkcolor);
}
footer .footer-bottom {
	background: var(--subcolor1);
	font-size: .8em;
	padding: 18px 0;
}
footer .footer-bottom-flex {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
footer .footer-bottom-flex .footer-bottom-flex___copy {
	
}
footer .footer-bottom-flex .footer-bottom-flex___copy a {
	color: var(--linkcolor);
}
footer .footer-bottom-flex .footer-bottom-flex___must {
	display: flex;
    align-items: center;
}
footer .footer-bottom-flex .footer-bottom-flex___must a {
	display: block;
	color: var(--linkcolor);
}
footer .footer-bottom-flex .footer-bottom-flex___must a:nth-child(n+2) {
	margin-left: 2em;
}

@media screen and (max-width: 1194px) {
	footer .footer-nav {
		grid-template-columns: 20% 1fr 1fr;
	}
	footer .footer-nav ul.footer-nav01 {
		
	}
}
@media screen and (max-width: 768px) {
	footer .footer-bottom-flex {
		flex-direction: column;
	}
	footer .footer-bottom-flex .footer-bottom-flex___copy {
		order: 2;
		margin-top: 18px;
	}
	footer .footer-bottom-flex .footer-bottom-flex___must {
		order: 1;
	}
}
@media screen and (max-width: 767px) {
	footer .footer-nav {
		display: none;
	}
}
@media screen and (max-width: 559px) {
	
}
@media screen and (max-width: 440px) {
}




/* コピーライト 
 * ***************************************/

footer #copyright {
	text-align: center;
	margin-top: 30px;
	padding: 60px 0;
	border-top: 1px solid #FF008C;
	position: relative;
}
footer #copyright:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: #CC0070;
	width: 100%;
	height: 1px;
}

footer #copyright .inner {
	padding: 0 30px;
}
footer #copyright p.copyright {
	font-size: 1.2rem;
	color: #FFE5F3;
}
footer #copyright p.copyright a {
	color: #FFE5F3;
}

@media screen and (max-width: 559px) {
	
	footer #copyright {
		margin-top: 0;
	}
}
@media screen and (max-width: 440px) {
}
@media screen and (max-width: 320px) {
	
}


/****************************************
 * プラグイン
*****************************************/

/* Contact Form 7
 * **************************************/
.wpcf7-list-item { /*チェックボックス*/
	margin: 0 1em 0 0 !important;
}
.wpcf7-not-valid-tip { /*エラーメッセージ*/
	color: #E4007F !important;
    font-weight: bold !important;
    margin-top: 3px !important;
	font-size: 1.2rem;
}
.wpcf7-spinner { /*スピナー*/
	display: none !important;
}


