@charset "utf-8";
@import "common.css";
.ef-pagetitle-wrap h1 > span{
    line-height: 1.5;
    display: flex;
    justify-content: center;
    gap: 0 1em;
    flex-wrap: wrap;
}
body:not(.webentrybody) .pagetitle{
	width: 100%;
	padding-top: clamp(40px,7.6923vw,40px);
	padding-bottom: clamp(40px,7.6923vw,40px);
	padding-left: 20px;
	padding-right: 20px;
	margin:0 auto;
	text-align: center;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}
body:not(.webentrybody) .pagetitle::before,
body:not(.webentrybody) .pagetitle::after,
body:not(.webentrybody) .pagetitle-wrap:before{
    content: none;
}
.efbody{
	padding-bottom: 140px;
}
.efbody .pagetitle-wrap{
	padding-top: 0;
}
.defbtn{
    display: inline-block;
    padding: 0.5em 2em;
    margin-right: 1em;
    font-size: 14px!important;
    border: 1px solid #afafaf;
    background: #f2f2f2;
    border-radius: 3px;
    transition: all .25s;
    cursor: pointer;
}
.defbtn:hover{
    background:#7a7a7a;
    border: 1px solid #7a7a7a;
    color: #fff;
}
/* 
	form関連CSSここから
*/
*:disabled {
	opacity: 0.3;
}
.ef_koumoku{
    margin-bottom: 1.5em;
    padding-bottom: 1.5em;
    border-bottom: 1px solid #ececec;
}
.ef-ninni::before{
	content: "任意";
	display: inline-block;
	padding: 2px 8px;
	background: #7a7a7a;
	color: #fff;
	border-radius: 2px;
	font-size: clamp(10.5px, 2.0192vw, 13px);
	position: relative;
	margin: 0 15px;
}
.ef-hissu::before{
	content: "必須";
	display: inline-block;
	padding: 2px 8px;
	background: var(--costred);
	color: #fff;
	border-radius: 2px;
	font-size: clamp(10.5px, 2.0192vw, 13px);
	position: relative;
	margin: 0 15px;
}
.ef-jidou::before{
	content: "自動入力";
	display: inline-block;
	padding: 2px 8px;
	background: var(--linkcolor);
	color: #fff;
	border-radius: 2px;
	font-size: clamp(10.5px, 2.0192vw, 13px);
	position: relative;
	margin: 0 15px;
}
.ef-radio {
    display: flex;
    flex-wrap: wrap;
    gap: .7em 2em;
    border: none;
}

.ef-radio label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}

.ef-radio label::before,
.ef-radio label::after {
    border-radius: 50%;
    content: '';
}

.ef-radio label::before {
    width: 18px;
    height: 18px;
    border: 2px solid #dee5eb;
    box-sizing: border-box;
}

.ef-radio label::after {
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translate(-50%, -50%);
    width: 9px;
    height: 9px;
    background-color: #dee5eb;
}

.ef-radio label:has(:checked)::after {
    background-color: #2589d0;
    animation: anim-ef-radio .3s linear;
}

@keyframes anim-ef-radio {
    0% {
        box-shadow: 0 0 0 1px transparent;
    }
    50% {
        box-shadow: 0 0 0 10px #2589d033;
    }
    100% {
        box-shadow: 0 0 0 10px transparent;
    }
}

.ef-radio input {
    display: none;
}
.ef-selectbox {
    position: relative;
}

.ef-selectbox::before,
.ef-selectbox::after {
    position: absolute;
    right: 15px;
    width: 9px;
    height: 6px;
    background-color: #535353;
    content: '';
    pointer-events: none;
}

.ef-selectbox::before {
    top: calc(50% - 9px);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.ef-selectbox::after {
    bottom: calc(50% - 9px);
    clip-path: polygon(0 0, 50% 100%, 100% 0);
}

.ef-selectbox select {
    width: 100%;
    appearance: none;
/*
    min-width: 100px;
*/
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #d0d0d0;
    border-radius: 3px;
    background-color: #fff;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
}
.ef-textbox-label,
.ef-textbox {
    color: #333;
}

.ef-textbox-label {
    display: block;
    margin-bottom: 7px;
    font-size: 1em;
}
.ef_koumoku *:not(.ef-textbox-label){
    font-size: 15px;
}
/*
.ef-selectbox + label{
	display:block;
}
*/
input[type="date"]{
	padding:5px;
	border: 1px solid #d0d0d0;
    width: 200px;
    background:#f7f7f7;
    position: relative;
}
input[type=date]::-webkit-calendar-picker-indicator {
    position: absolute;
    width: 100%;
    height: 100%;
	opacity: 0;
}
.ef-textbox {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid #d2d2d2;
    border-radius: 3px;
    background: #f7f7f7;
    font-size: 1em;
    line-height: 1.5;
    margin-top: 7px;
}
.ef-textbox.minnum{
	width: 6em;
}
.ef-textbox.yearnum{
	width: 5em;
    font-size: 14px;
}
.ef-textbox.daynum{
	width: 3.75em;
    font-size: 14px;
}
.ef-textbox.middlenum{
	max-width: 16em;
}
.ef-radio + label input{
    margin-top: 10px;
}
.ef-radio + label + .ef-radio{
    margin-top: 10px;
}
.ef-textbox::placeholder {
    color: #999;
}
.ef-checkbox {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .5em 2em;
    border: none;
}
.ef-checkbox label {
    display: flex;
    align-items: center;
    gap: 0 0.5em;
    cursor: pointer;
}
.ef-checkbox label span {
    position: relative;
    display: inline-block;
    width: 17px;
    height: 17px;
    border-radius: 3px;
    background-color: #e6edf3;
}
.ef-checkbox label span::after {
    display: inline-block;
    content: '';
}
.ef-checkbox label:has(input:checked) span {
    background-color: #2589d0;
}
.ef-checkbox label:has(input:checked) span::after {
    position: absolute;
    left: 6px;
    top: 3px;
    transform: rotate(45deg);
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
}
.ef-checkbox input {
    opacity: 0;
    appearance: none;
    position: absolute;
}
@media(max-width:768px){
    .ef-checkbox {
        flex-direction: column;
    }
    .ef-checkbox label {
        background:#f7f7f7;
        padding:8.5px 5px;
        border-radius:3px;
        border:1px solid #d2d2d2;
    }
}
.ef-checkbox-center {
    justify-content: center;
}

p.tyuui{
    font-size: 0.95em;
    color: var(--costred);
    margin-bottom: 1em;
}
.imagePreview{
    margin-top:20px;
}
.imagePreview img{
    border: 1px solid #cccccc;
}
#ef-privacy-p{
    width: 95%;
    margin-inline: auto;
    margin-block: 1em 1.5em;
    padding: 1em;
    border: 1px solid #ccc;
    border-radius: 5px;
}
#ef-privacy-p + p{
    color: var(--costred);
    margin-bottom: 1em;
}
#ef-privacy-p + p + label{
    display: block;
    width: fit-content;
}
#pdfLink{
    margin-top: 1em;
}
#pdfLink a{
    text-decoration: underline;
}
.ef-hozon-kakunin{
    width: 100%;
    height: 100px;
    background: #fff;
    border-top: 1px solid #fafafa;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em;
    z-index: 2;
}
.ef-hozon-kakunin button{
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(50% - 1em);
    max-width: 250px;
    padding: .9em 1em;
    border: 1px solid #fff;
    border-radius: 5px;
    box-shadow: 0 0 0 3px var(--maindark);
    background-color: var(--maindark);
    color: #fff;
    font-size: 14px;
    cursor: pointer;
}
.ef-hozon-kakunin-inner{
    position: initial;
    background: initial;
    height: initial;
    box-shadow: initial;
    margin-block: 2em;
}
.borderred{
    border-bottom: 3px double var(--costred);
}
.costred{
    color: var(--costred);
}
/* 
	form関連CSSここまで
*/
/* 
	確認画面ここから
*/
.ef_kakunin{
    margin-bottom: 1.5em;
    padding-bottom: 1.5em;
    border-bottom: 1px solid #ececec;
}
.ef_kakunin-ttl {
    font-weight: 500;
    display: block;
    color: var(--maincolor);
    margin-bottom: 0.25em;
}
.ef_kakunin > span:not(.ef_kakunin-ttl){
    font-size: 15px;
}
.bordergreen{
    border-bottom: 5px double var(--maincolor);
}
.kanryou{
    text-align: center;
    font-weight: 400;
    margin-bottom: 2em;
}
.mb1em{
    margin-bottom: 1em;
}
.mb2em{
    margin-bottom: 2em;
}
.w35{
    margin-inline: auto;
    max-width: 35em;
}
/* 
	確認画面ここまで
*/


/***********************/
.list table{
    width: 100%;
    background: #aaaaaa;
    border: 1px solid #e2e2e2;
    box-shadow: 0 0 15px rgba(0,0,0,0.05);
}
.list tbody,
.list thead{ }
.list tr{ }
.list th,
.list td{
    font-size: 15px;
    padding: 8px 4px;
}
.list tbody tr:not(:last-child){
	border-bottom: 2px solid #e2e2e2;
}
.list tbody tr:nth-child(even) td{
	background:#f8f8f8;
}



/* その他共通 */
.left {
	text-align: left !important;
}
.center {
	text-align: center !important;
}
.right {
	text-align: right !important;
}

.imeon {
	ime-mode: active;
}
.imeoff {
	ime-mode: inactive;
}
.imenone {
	ime-mode: disabled;
}

.attn {
	font-size: 0.8em !important;
	color: var(--textred);
}

.wid_2em {
	width: 2rem !important;
}
.wid_3em {
	width: 3rem !important;
}
.wid_4em {
	width: 4rem !important;
}
.wid_5em {
	width: 5rem !important;
}
.wid_6em {
	width: 6rem !important;
}
.wid_7em {
	width: 7rem !important;
}
.wid_8em {
	width: 8rem !important;
}
.wid_9em {
	width: 9rem !important;
}
.wid_10em {
	width: 10rem !important;
}
.wid_12em {
	width: 12rem !important;
}
.wid_15em {
	width: 15rem !important;
}
.wid_20em {
	width: 20rem !important;
}
.wid_25em {
	width: 25rem !important;
}
.wid_30em {
	width: 30rem !important;
}
.wid_40em {
	width: 40rem !important;
}
.wid_50em {
	width: 50rem !important;
}
.wid_half {
	width: 50% !important;
}
.wid_33per {
	width: 33% !important;
}
.wid_max {
	width: 100% !important;
}

.hit_5em {
	height: 5rem !important;
}
.hit_10em {
	height: 10rem !important;
}
.hit_15em {
	height: 15rem !important;
}
.hit_20em {
	height: 20rem !important;
}
