html {
    background:#fff;
}

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;
}

/*-------------------------------------------
   fade in 
--------------------------------------------*/

.fadein {
	opacity : 0.1;
	transform : translate(0, 50px);
	transition : all 1000ms;    
}

.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}
/*-------------------------------------------
    bgColor
--------------------------------------------*/

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

/*-------------------------------------------
    font
--------------------------------------------*/
.arapey {font-family: 'Arapey', serif;}
.gold {color:#eab70e;}
.red001 {color:#d3046f;}
.blue001{color:#0067da;}
.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%;
}
/*-------------------------------------------
    table
--------------------------------------------*/
.tbl001 {
font-size: 90%;
}
.tbl001 th{
    padding:3%;
    width:14%;
    border-bottom:solid #bbcccc 1px;
}
.tbl001 td{
    padding:3%;
    width:74%;
    border-bottom:solid #aacccc 1px;
}
@media screen and (max-width: 768px) {
    .tbl001 th{
        width:30%;
    }
}
/*-------------------------------------------
    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-text2 {padding:0 0 1px 6%;}
.text-error {color: #ff3300;}
.type-text {width: 40%;}
.type-text2 {width: 40%;}
.type-text3 {width: 45%;}
.type-text4 {width: 45%;}
.type-textarea { margin:3px 3px 1px 3px; width: 100%; height:150px; border: #666 solid 1px;}
.type-kiyaku { margin: 5% 0; width: 100%; height:200px;}

/*----Responsive ----*/
@media screen and (max-width: 768px) {
    .form-text {padding:5% 3%}
    .form-text2 {padding:5% 3%}
    .type-text2 {width: 100%;}
    .type-text3 {width: 95%;}
}

.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;
}

.cp_ipselect2 {
	overflow: hidden;
	width: 75%;
    text-align: center;
}
.cp_ipselect2 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_ipselect2 select::-ms-expand {
    display: none;
}
.cp_ipselect2.cp_sl02 {
	position: relative;
	border: 1px solid #bbbbbb;
	border-radius: 2px;
	background: #ffffff;
}
.cp_ipselect2.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_ipselect2.cp_sl02:after {
	position: absolute;
	top: 0;
	right: 2.5em;
	bottom: 0;
	width: 1px;
	content: '';
	border-left: 1px solid #bbbbbb;
}
.cp_ipselect2.cp_sl02 select {
	padding: 8px 38px 8px 8px;
	color: #666666;
}

/*----Responsive ----*/
@media screen and (max-width: 768px) {
    .cp_ipselect2 {width: 95%;}
}

.form-radio {padding:10px 3% 1px 3%;}

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

.btnArea {
    text-align: center;
}

.btn {
    padding: 3%;
    width: 50%;
    margin: 5% 0;
    color: #000;
    border:solid #333 1px;
    font-size: 110%;
    transition-duration: 0.2s;
    display: inline-block;
    background:#fff;
}

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

.btn:hover{
    background: #444;
}
.btn:disabled {
    background: #888;
    color: #666;
}

/*-------------------------------------------
    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;
}

/*-------------------------------------------
    accordion
--------------------------------------------*/
.accordion_close{
    display: none;
}
.accordion_open {
    display: block;
  }