@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

section#page_title {
    background: none!important;
}

.hp_field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.error_text {
	color: red;
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){
	
	section#page_title {
		margin-bottom: 3vw;
        padding-bottom: 0;
    }
	
	section + section {
		margin-top: 5.4vw;
	}
	
	section div.section_inner {
		width: 86%;
		margin: 0 auto;
    }
	
	section div.section_inner h2{
		font-size: 2.8rem;
		font-size: clamp(1.88rem, 1.95vw, 2.8rem);
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.12em;
		padding-bottom: 0.5em;
		border-bottom: 1px solid #000;
		margin-bottom: 0.75em;
		position: relative;
		padding-top: 2em;
    }
	
	section div.section_inner h2 span{
		font-family: "acumin-variable", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-variation-settings: 'wght' 100, 'wdth' 115, 'slnt' -12;
		font-size: 7.0rem;
		font-size: clamp(4.7rem, 4.895vw, 7.0rem);
		line-height: 1;
		letter-spacing: 0.06em;
		color: #ff0000;
		display: inline-block;
		position: absolute;
		bottom: 0.09em;
		right: 0;
    }
	
	section#contact div.section_inner p{
		font-size: 1.6rem;
		font-size: clamp(1.07rem, 1.118vw, 1.6rem);
		font-weight: 400;
		line-height: 1.8;
		letter-spacing: 0.06em;
	}
	
	section#contact div.section_inner p.cap{
		font-size: 1.4rem;
		font-size: clamp(0.94rem, 0.979vw, 1.4rem);
		text-indent: -1em;
		padding-left: 1em;
	}
	
	section#contact div.section_inner dl {
		width: 78%;
		max-width: 960px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 1.74vw;
	}
	
	section#contact div.section_inner dl dt{
		width: 27%;
		font-size: 1.6rem;
		font-size: clamp(1.07rem, 1.118vw, 1.6rem);
		font-weight: 700;
		line-height: 1.6;
		letter-spacing: 0.1em;
		padding: 1.74vw 0;
	}
	
	section#contact div.section_inner dl dt span{
		display: inline-block;
		padding-right: 1em;
		position: relative;
	}
	
	section#contact div.section_inner dl dt span sup{
		color: #ff0000;
		display: inline-block;
		position: absolute;
		top: 0.75em;
		right: 0;
		z-index: 2;
	}
	
	section#contact div.section_inner dl dd{
		width: 73%;
		padding: 1.74vw 0;
	}
	
	section#contact div.section_inner dl dd div.box{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		font-size: 1.6rem;
		font-size: clamp(1.07rem, 1.118vw, 1.6rem);
		font-weight: 700;
		line-height: 1;
	}
	
	section#contact div.section_inner dl dd div.box + div{
		font-size: 1.6rem;
		font-size: clamp(1.07rem, 1.118vw, 1.6rem);
		margin-top: 1.5em;
	}
	
	section#contact div.section_inner dl dd div.box + div#other p{
		margin-bottom: 0.25em;
	}
	
	section#contact div.section_inner dl dd div.box span{
		display: inline-block;
	}
	
	section#contact div.section_inner dl dd div.box span label {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		cursor: pointer;
	}
	
	section#contact div.section_inner dl dd div.box span + span{
		margin-left: 1.75em;
	}
	
	section#contact div.section_inner dl dd div.box.performer span{
		margin-right: 1.75em;
	}
	
	section#contact div.section_inner dl dd div.box.performer span + span{
		margin-left: 0;
	}
	
	section#contact div.section_inner dl dd div.box.performer span.mt{
		width: 100%;
		margin-top: 0.75em;
	}
	
	section#contact div.section_inner dl dd div.box.performer span small{
		font-size: 87.5%;
		font-weight: 400;
	}
	
	section#contact div.section_inner dl dd input[type=text],
	section#contact div.section_inner dl dd input[type=email],
	section#contact div.section_inner dl dd input[type=tel]{
		width: 100%!important;
		font-size: 1.6rem;
		font-size: clamp(1.07rem, 1.118vw, 1.6rem);
		border: 1px solid #b2b2b2;
		border-radius: 8px;
		padding: 0.75em;
		background: rgb(255, 255, 255)!important;
	}
	
	section#contact div.section_inner dl dd textarea {
		width: 100%!important;
		font-size: 1.6rem;
		font-size: clamp(1.07rem, 1.118vw, 1.6rem);
		border: 1px solid #b2b2b2;
		border-radius: 8px;
		padding: 0.75em;
		background: rgb(255, 255, 255)!important;
	}
	
	.mfp_err {
		font-size: 1.3rem!important;
		font-size: clamp(0.87rem, 0.909vw, 1.3rem)!important;
		color: #ff0000;
		margin-top: 1em!important;
	}
	
	textarea + .mfp_err {
		margin-top: 0.5em;
	}
	
	.mfp_buttons {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 3vw;
	}
	
	.mfp_buttons button{
		width: 30%;
		font-size: 1.8rem;
		font-size: clamp(1.2rem, 1.258vw, 1.8rem);
		font-weight: 700;
		letter-spacing: 0.12em;
		line-height: 1;
		color: #FFF;
		background: #000;
		padding: 2em 0;
		border-radius: 3vw;
        border-radius: 3cqw;
		margin: 0 2.5%;
	}
	
	.mfp_buttons button + button{
		background: #999;
	}
	
	/*確認ページ*/
	#mfp_phase_confirm h4 {
		font-size: 2.4rem;
		font-size: clamp(1.61rem, 1.678vw, 2.4rem);
		font-weight: 700;
		text-align: center;
		padding: 0;
		margin-bottom: 1.5em;
	}
	
	#mfp_phase_confirm table {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	
	#mfp_phase_confirm table th{
		width: 22em!important;
		font-size: 1.8rem!important;
		font-size: clamp(1.2rem, 1.258vw, 1.8rem)!important;
		font-weight: 700;
		padding: 0.75em 0.5em!important;
	}
	
	#mfp_phase_confirm table td{
		width: calc(100% - 22em)!important;
		font-size: 1.8rem!important;
		font-size: clamp(1.2rem, 1.258vw, 1.8rem)!important;
		font-weight: 400;
		padding: 0.75em 0.5em!important;
	}
}
	
	

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){
	
	section#page_title {
        padding-bottom: 0;
		margin-bottom: 5vw;
    }
	
	section#page_title h2.br {
		top: calc(50% - 1.6em)!important;
	}
	
	section + section {
		margin-top: 12vw;
	}
	
	section div.section_inner {
		width: 88%;
		margin: 0 auto;
    }
	
	section div.section_inner h2{
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 4.256rem);
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.02em;
		padding-bottom: 0.5em;
		border-bottom: 1px solid #000;
		margin-bottom: 0.75em;
		position: relative;
		padding-top: 2em;
    }
	
	section div.section_inner h2 span{
		font-family: "acumin-variable", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-variation-settings: 'wght' 100, 'wdth' 115, 'slnt' -12;
		font-size: 2.1rem;
		font-size: clamp(2.1rem, 5.81vw, 5.58rem);
		line-height: 1;
		letter-spacing: 0.06em;
		color: #ff0000;
		display: inline-block;
		position: absolute;
		bottom: 0.2em;
		right: 0;
    }
	
	section#contact div.section_inner p{
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.6vw, 3.465rem);
		font-weight: 400;
		line-height: 1.8;
		letter-spacing: 0.06em;
	}
	
	section#contact div.section_inner p.cap{
		font-size: 1.1rem;
		font-size: clamp(1.1rem, 3.054vw, 2.9326rem);
		text-indent: -1em;
		padding-left: 1em;
	}
	
	section#contact div.section_inner dl {
		width: 100%;
		margin-top: 10vw;
	}
	
	section#contact div.section_inner dl dt{
		width: 100%;
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 4.256rem);
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 0.1em;
		padding: 0 0 0.25em;
	}
	
	section#contact div.section_inner dl dt span{
		display: inline-block;
		padding-right: 1em;
		position: relative;
	}
	
	section#contact div.section_inner dl dt span sup{
		color: #ff0000;
		display: inline-block;
		position: absolute;
		top: 0.75em;
		right: 0;
		z-index: 2;
	}
	
	section#contact div.section_inner dl dd{
		width: 100%;
		padding: 0;
	}
	
	section#contact div.section_inner dl dd + dt{
		margin-top: 8vw;
	}
	
	section#contact div.section_inner dl dd div.box{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		font-size: 1.5rem;
		font-weight: 500;
		line-height: 1;
		margin-top: 2vw;
	}
	
	section#contact div.section_inner dl dd div.box + div{
		font-size: 1.6rem;
		margin-top: 1.5em;
	}
	
	section#contact div.section_inner dl dd div.box + div#other p{
		margin-bottom: 0.25em;
	}
	
	section#contact div.section_inner dl dd div.box span{
		display: inline-block;
		margin-bottom: 0.75em;
		margin-right: 1.75em;
	}
	
	section#contact div.section_inner dl dd div.box.performer span.mt{
		width: 100%;
		margin-right: 0;
	}
	
	section#contact div.section_inner dl dd div.box.performer span small{
		font-size: 1rem;
		letter-spacing: -0.02em;
		font-weight: 400;
		display: inline-block;
		margin-top: 0.25em;
	}
	
	section#contact div.section_inner dl dd div.box span label {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		cursor: pointer;
	}
	
	section#contact div.section_inner dl dd input[type=text],
	section#contact div.section_inner dl dd input[type=email],
	section#contact div.section_inner dl dd input[type=tel]{
		width: 100%!important;
		font-size: 1.6rem;
		border: 1px solid #b2b2b2;
		border-radius: 8px;
		padding: 1em;
		background: rgb(255, 255, 255)!important;
	}
	
	section#contact div.section_inner dl dd textarea {
		width: 100%!important;
		font-size: 1.6rem!important;
		border: 1px solid #b2b2b2;
		border-radius: 8px;
		padding: 0.75em;
		background: rgb(255, 255, 255)!important;
	}
	
	.mfp_err {
		font-size: 1.2rem!important;
		font-size: clamp(1.2rem, 3.32vw, 3.192rem)!important;
		color: #ff0000;
		margin-top: 1em!important;
	}
	
	textarea + .mfp_err {
		margin-top: 0.5em;
	}
	
	.mfp_buttons {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 3vw;
	}
	
	.mfp_buttons button{
		width: 100%;
		font-size: 1.6rem!important;
		font-size: clamp(1.6rem, 4.43vw, 4.256rem)!important;
		font-weight: 700;
		letter-spacing: 0.12em;
		line-height: 1;
		color: #FFF;
		background: #000;
		padding: 1.2em 0;
		border-radius: 5.4vw;
		margin: 0 2.5%;
	}
	
	.mfp_buttons button + button{
		background: #999;
		margin-top: 3vw;
	}
	
	/*確認ページ*/
	#mfp_phase_confirm h4 {
		font-size: 1.8rem!important;
		font-size: clamp(1.8rem, 4.98vw, 4.788rem)!important;
		font-weight: 700;
		text-align: center;
		padding: 0;
		margin-bottom: 1.5em;
	}
	
	#mfp_phase_confirm table {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	
    table#mfp_confirm_table tr.mfp_colored {
        background-color: #FFF!important;
    }
	
	#mfp_phase_confirm table th{
		width: 100%!important;
		display: block;
		font-size: 1.4rem!important;
		font-size: clamp(1.4rem, 3.87vw, 3.724rem)!important;
		font-weight: 700;
		padding: 0.75em 0.5em!important;
		background: #F6F7F9;
	}
	
	#mfp_phase_confirm table td{
		width: 100%!important;
		display: block;
		font-size: 1.4rem!important;
		font-size: clamp(1.4rem, 3.87vw, 3.724rem)!important;
		font-weight: 400;
		padding: 0.75em 0.5em!important;
		border-top: dashed 1px #CCC!important;
	}
}