html{
    scroll-behavior: smooth;
}
body {
    font-family: 'Noto Sans Japanese', serif;
    text-align: center;
    font-size: 80%;
    height:100vh;
    color: #000;
    line-height:180%;
}
a:link, a:visited, a:active { color: #000;text-decoration:none;}
a:hover { color: #111111;}
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {clear: both;}
.cf {*zoom: 1;}

input {
    padding: 5px;
    margin: 5px;
}
/*-------------------------------------------
    common
--------------------------------------------*/

.pcOff {display:none ;}
.spOff {display:block ;}
/*----Responsive ----*/
@media screen and (max-width: 768px) {
    .pcOff {display:block ;}
    .spOff {display:none ;}
}

.w40{width:40%;}
.w50{width:50%;}
.w60{width:60%;}

.marginB50px {margin-bottom: 50px;}
/*-------------------------------------------
    icon
--------------------------------------------*/

.label {
    margin: 0 2%;
    padding:2px 5px ;
    display: inline-block;
    min-width: 150px;
    text-align: center;
    background: #000000;
    color: #fff;
}

.icon01 {
    padding: 3px 5px;
    background: #000000;
    border-radius: 4px;
    color: #ffffff;
}

/*-------------------------------------------
    bgColor
--------------------------------------------*/

.black01 {background: #000000; color: #ffffff;}

/*-------------------------------------------
    font
--------------------------------------------*/
.arapey {font-family: 'Arapey', serif;}
.gold {color:#eab70e;}
.fsize12{ font-size: 120%;}
.fsize14{ font-size: 140%;}
/*-------------------------------------------
    title
--------------------------------------------*/
.ttl01 {
    font-size: 150%;
    text-align: center;
    padding: 0 0 5% 0;
    line-height: 200%;
}

.ttl02 {
    font-size: 120%;
    text-align: center;
    padding: 0 0 3% 0;
    line-height: 200%;
}
/*-------------------------------------------
    text
--------------------------------------------*/
.tleft {text-align: left}

/*-------------------------------------------
    form
--------------------------------------------*/

.label-st {
    width: 100%;
    display: block;
    background: #000;
    color: #fff;
    display:inline-block;
    text-align: center;
    padding: 8px;
    margin: 3px 0;
}
.form-text {padding:0 3% 1px 3%;}
.form-drop {padding:3px 3% 1px 4%;}
.form-drop2 {padding:3px 3% 1px 5%;}
.text-error {color: #ff3300;}
.type-text {width: 40%;}
.type-text2 {width: 60%;}
.type-drop {width: 60%;height:35px;}
.type-drop2 {width: 40%;height:35px;margin-left:1%;}
.type-drop3 {width: 30%;height:35px;margin-left:1%;}
.type-textarea { margin:3px 3px 1px 3px; width: 100%; height:150px; border: #666 solid 1px;}
.type-kiyaku { margin: 5% 0; width: 100%; height:200px;}
.form-radio {padding:10px 3% 3px 4%;}

/*----Responsive ----*/
@media screen and (max-width: 768px) {
    .form-text {padding:5% 3%}
    .form-drop {padding:5% 3%}
    .form-drop2 {padding:3% 6%;}
    .type-text {width: 80%;}
    .type-text2 {width: 100%;}
    .type-drop {width: 100%;height:35px;}
    .type-drop2 {width: 80%;height:35px;}
    .type-drop3 {width: 80%;height:35px;}
    .form-radio {padding:3px 3% 3px 4%;}
}

.cp_ipselect {
	overflow: hidden;
	width: 50%;
    text-align: center;
}
.cp_ipselect select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.cp_ipselect select::-ms-expand {
    display: none;
}
.cp_ipselect.cp_sl02 {
	position: relative;
	border: 1px solid #bbbbbb;
	border-radius: 2px;
	background: #ffffff;
}
.cp_ipselect.cp_sl02::before {
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.cp_ipselect.cp_sl02:after {
	position: absolute;
	top: 0;
	right: 2.5em;
	bottom: 0;
	width: 1px;
	content: '';
	border-left: 1px solid #bbbbbb;
}
.cp_ipselect.cp_sl02 select {
	padding: 8px 38px 8px 8px;
	color: #666666;
}

/*-------------------------------------------
    botton
--------------------------------------------*/

.btnArea {
    margin: 5% 0;
    text-align: center;
}

.btn {
    padding: 1% 0;
    width: 40%;
    background: #000;
    color: #fff;
    font-size: 110%;
    transition-duration: 0.2s;
    display: inline-block;
}

.btn a:link,.btn  a:visited,.btn  a:active {
    color: #fff;
}

.btn:hover{
    background: #444;
}
.btn:disabled {
    background: #888;
    color: #666;
}
.btnText {
    margin: 2% 0;
    font-size: 130%;
}
/*----Responsive ----*/
@media screen and (max-width: 768px) {
    .btn {width: 80%;}
}
/*
/*-------------------------------------------
    box
--------------------------------------------*/
.boxToggle {
    height: 200px;
    overflow: hidden;
    position: relative;
    border-radius: 7px;
    transition-duration: 0.5s;
}

.boxToggle__on {
    height: auto;
}

.boxToggle__box {
    width: 100%;
    height: 200px;
    text-align: center;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 40%);
    position: absolute;
    top:10%;
    border-radius: 7px;
    transition-duration: 0.5s;
}

.boxToggle__on .boxToggle__box {
    height:auto;
    overflow: visible;
    position: static;
    background:none;
}

.debug {
    position: fixed;
    top:0;
    background:#000;
    color: #fff;
    z-index: 1000000000000000;
}