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

* Layout

***************************/
/* .sp {
    display: none;
}
@media only screen and (max-width:769px) {
    .sp {
        display: block;
    }
}

.pc {
    display: none;
}
@media only screen and (min-width:768px) {
    .pc {
        display: block;
    }
}
/* Header */
.header {
    position: fixed;
    top: 0;
    z-index: 100;
}
.headerArea {
    width: 100%;
    height: calc((70/1400)*100vw);
    max-height: 70px;
    display: flex;
    position: fixed;
    box-sizing: border-box;
    margin: 0 auto;
    align-items: center;
    top: 0;
    overflow: hidden;
    background-color: #555;
    justify-content: space-between;
}

.title_area {
    display: flex;
    position: relative;
    background-color:  #d0030f;
    background-repeat: repeat-x;
    background-size: 100%;
    width: 70%;
    height: 100%;
    align-items: center;
}

.title_area::after {
    position: absolute;
    content: '';
    display: inline-block;
    width: calc((130/1240)*100vw);
    height: calc((40/1240)*100vw);
    background-color: #d0030f;
    transform: rotate(-70deg);
    right: calc((-65/1240)*100vw);
    top: 0;

}
.title_area > h1 {
    margin-left: 50px;
}
.title_area > h1 {
    max-width: 400px;
    width: calc((400/1400)*100vw);
}
.title_area > h1 img {
    max-width: 400px;
    width: calc((400/1400)*100vw);
    height: auto;
}
.title_area > p {
    width: calc((300/1400)*100vw);
    font-size: calc((16/1400)*100vw);
    color: #fff;
    margin-left: 20px;
}
@media only screen and (min-width:1400px) {
    .title_area > p {
        font-size: 20px;
    }
}
.navi {
    display: flex;
    margin-left: auto;
    margin-right: 20px;
    max-width: 550px;
    width: calc((550/1400)*100vw);
    font-size: 16px;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
}

.navi > ul {
    display: flex;
}
.navi li a {
    font-size: calc((16/1400)*100vw);
    position: relative;
    padding: calc((15/1400)*100vw) calc((20/1400)*100vw);
    display: block;
    color: #fff;
}
@media only screen and (min-width:1200px) {
    .navi li a {
        font-size: 16px;
    }
}
.navi li:nth-child(1) a::before,
.navi li:nth-child(2) a::before {
    content: "";
    display: inline-block;
    background-image: url("/img/icon_1.png");
    background-position: left;
    background-size: calc((25/1400)*100vw);
    width: calc((25/1400)*100vw);
    height: calc((25/1400)*100vw);
    background-repeat: no-repeat;
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
}
@media only screen and (min-width:1400px) {
    .navi li:nth-child(1) a::before,
    .navi li:nth-child(2) a::before {
        width: 20px;
        height: 20px;
        background-size: 100%;
    }
}
.navi li:nth-child(2) a::before {
    background-image: url("/img/icon_2.png");
}

.logo {
    max-width: 100px;
    width: calc((100/1400)*100vw);
}
.logo > img{
    max-width: 100px;
    width: calc((100/1400)*100vw);
    height: auto;
}

/*humberger*/
.hamburger {
    display: none;
}

@media only screen and (max-width:769px) {
    body {
        width: 100%;
        /* overflow: hidden; */
    }
    .header {
        width: 100%;
        max-width: 100%;
        min-width: 100%;
        display: block;
        z-index: 100000;
    }
    .header::before {
        display: none;

    }
    .headerArea {
        height: auto;
        max-height: 100%;
    }
    .title_area {
        display: block;
        width: 100%;
        background: #e60012;
        padding: 0.5vh 0;
    }
    .title_area > h1 {
        text-align: center;
        width: 60vw;
        margin: 0% auto;
        padding-top: 1vh;
    }
    .title_area > h1 img {
        max-width: 100%;
        width: 100%;
        height: auto;
    }
    .title_area::after {
        display: none;
    }
    .title_area > p {
        position: relative;
        top: 0;
        left: 0;
        color: #fff;
        font-size: 3vw;
        text-align: center;
        margin-top: 1vh;
        margin-left: 0;
        width: 100%;
    }
    .navi {
        position: fixed;
        display: block;
        margin-left: 0;
        max-width: 100%;
        width: 100%;
        transform: translateX(100%);
        opacity: 0;
        /* top: calc((70/1400)*100vw); */
        top: 60px;
        background-color: #333;
        padding-bottom: 2vh;
    }
    .navi.on {
        transform: translateX(0);
        opacity: 1;
    }
    .navi > ul {
        display: block;
        margin: 0;
        width: 100%;
    }
    .navi li a {
        font-size: 3.5vw;
        padding: 2vh 5vw 2vh 14vw;
        display: block;
        border-bottom: 1px solid #fff;
    }
    .navi li:nth-child(1) a::before,
    .navi li:nth-child(2) a::before {
        content: "";
        display: inline-block;
        background-image: url("/img/icon_1.png");
        background-position: left;
        background-size: 25px;
        width: 25px;
        height: 25px;
        background-repeat: no-repeat;
        position: absolute;
        left: 0px;
        top: 50%;
        transform: translateY(-50%);
    }

    .navi li:nth-child(1) a::before, .navi li:nth-child(2) a::before {
        left: 4vw;
    }

    .logo {
        width: inherit;
        display: block;
        text-align: center;
        margin-top: 2vh;
        max-width: 100%;
        width: 100%;
    }
    .logo > img {
        max-width: 100px;
        width: 100px;
        height: auto;
    }
    .layer {
        z-index: 100;
        visibility: hidden;
        opacity: 0;
        position: fixed;
        top: 0;
        width: 100%;
        height: calc(70px + 100vh);
        background-color: rgba(0,0,0,0.9);
        overflow: hidden;
    }
    .layer.open {
        visibility: visible;
        opacity: 1;
        position: fixed;
        transform: rotateX(0);
    }

    .hamburger {
        position: absolute;
        width: 40px;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        box-sizing: border-box;
        counter-increment: section;
        position: absolute;
        top: 50%;
        right: 2vw;
        transform: translateY(-50%);
        z-index: 1000000;
    }

    .btn-trigger {
        position: relative;
        width: 40px;
        height: 30px;
        cursor: pointer;
    }
    .btn-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: #fff;
        border-radius: 4px;
    }
    .btn-trigger, .btn-trigger span {
        display: inline-block;
        transition: all .5s;
        box-sizing: border-box;
    }
    .btn-trigger span:nth-of-type(1) {
        top: 0;
    }
    .btn-trigger span:nth-of-type(2) {
        top: 13px;
    }
    .btn-trigger span:nth-of-type(3) {
        bottom: 0;
    }

    .btn-trigger.active span:nth-of-type(1) {
        top: -10px;
    }
    .btn-trigger.active span:nth-of-type(3) {
        bottom: 9px;
    }

    #btn01.active span:nth-of-type(1) {
        transform: translateY(22px) rotate(-45deg);
    }
    #btn01.active span:nth-of-type(2) {
        opacity: 0;
    }
    #btn01.active span:nth-of-type(3) {
        transform: translateY(-5px) rotate(45deg);
    }


}

/* マーカー付きリンク */
.m_link a {
  position: relative;
}
.m_link a:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: -8px;
  top: calc(50% - 1px);
  border-top: solid 2px;
  border-right: solid 2px;
  transform: rotate(45deg) translateY(-50%);
  color: inherit;
}

/* モーダル */
.m_trigger {
    cursor: pointer;
    color: #0070c9;
    text-decoration: underline;
}
.m_trigger:hover {
    opacity: 0.7;
}
.modal {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    background-color: rgb(0,0,0,0.9);
    z-index: 1000000;
}
.modal.on,
.policy_guide.on {
    display: block;
}
.policy_guide {
    display: none;
    background-color: #fff;
    position: absolute;
    top: calc(50% + 649px);
    top: calc(50%);
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    padding: 30px 30px 30px 40px;
    box-sizing: border-box;
    z-index: 1000001;
}
.policy_guide > li {
    list-style-type: disc;
}

.p_box {
    background-color: #fff;
    position: absolute;
    /* top: calc(50% + 649px); */
    top: calc(50%);
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    padding: 30px 0;
    box-sizing: border-box;
    z-index: 1000001;
}
.p_box > p {
    padding: 0 30px 30px;
    border-bottom: 1px solid #333;
}
.partnercheck {
    text-align: right;
    padding: 30px 30px 0;
}
.partnercheck > a {
    display: inline-block;
    padding: 0 10px;
}

@media only screen and (max-width:769px) {
    .policy_guide,
    .p_box {
        /* top: calc(50% + 1312px); */
        top: calc(50%);
        width: 80%;
    }
}
/* コンテンツエリア
========================================================================== */
/* パンくず */
.b_wrapper + .c_wrapper {
    margin-top: calc((200/1400)*100vw);
}
.b_wrapper {
    width: 100%;
    background-color: #fff;
    z-index: 100;
    position: fixed;
    top: calc((70/1400)*100vw);
}
.breadcrumb {
    display: flex;
    align-items: center;
    text-align: center;
    width: calc((1300/1400)*100vw);
    height: calc((101/1400)*100vw);


}
.breadcrumb > li{
    padding: calc((70/1400)*100vw) calc((10/1400)*100vw) calc((10/1400)*100vw);
    font-size: calc((14/1400)*100vw);
    width:calc(100%/7);
    position: relative;
}
.breadcrumb > li::before {
    content: "";
    background-image: url("/img/navi_off.png");
    background-size: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    height: 24px;
    width: 100%;
    background-repeat: no-repeat;
}
.breadcrumb > li.complete:before {
    background-image: url("/img/navi_on.png");
}
.breadcrumb > li.current:before {
    background-image: url("/img/navi_on_current.png");
}
.breadcrumb > li:nth-child(1):before,
.breadcrumb > li.current:nth-child(1):before {
    background-image: url("/img/navi_first_off.png");
}
.breadcrumb > li.complete:nth-child(1):before {
    background-image: url("/img/navi_first_on.png");
}
.breadcrumb > li:nth-last-child(1):before {
    background-image: url("/img/navi_last_off.png");
}
.breadcrumb > li.complete:nth-last-child(1):before,
.breadcrumb > li.current:nth-last-child(1):before {
    background-image: url("/img/navi_last_on.png");
}
.breadcrumb > li.complete,
.breadcrumb > li.current{
    color: #f54337;
}

@media only screen and (min-width:1400px) {
    .b_wrapper + .c_wrapper {
        margin-top: 200px;
    }
    .b_wrapper {
        top: 70px;
    }
    .breadcrumb {
        width: 1300px;
        height: 101px;
    }
    .breadcrumb li {
        padding: 70px 10px 10px;
        width:calc(100%/7);
        font-size: 14px;
    }
}
/* リスト */
.inner_list {
    margin-top: 20px;
    margin-left: 10px;
}
/* 単体ボタン */
.disable_btn {
    color: #fff;
    background-color: #cccccc;
}
.red_btn {
    color: #fff;
    background-color: #E60012;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}
.black_btn {
    background-color: #333;
    color: #fff;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}
.gray_btn {
    background-color: #666;
    color: #fff;
    transition: all 0.3s ease-in-out;
}
.btn_l {
    text-align: center;
    width: 450px;
    font-size: 22px;
    padding: 25px;
    display: block;
    position: relative;
    border-radius: 5px;
    font-weight: bold;
}
.btn_s {
    text-align: center;
    width: 200px;
    font-size: 18px;
    padding: 10px;
    display: block;
    position: relative;
    border-radius: 5px;
    font-weight: bold;
}

.text_btn {
    margin-top: 50px;
    text-align: center;
}
.text_btn a {
    color: #0070c9;
}
.btn_2 {
    width: 100%;
    background-color: #666;
    border: 1px solid #cccccc;
    padding: 10px;
    display: block;
    border-radius: 5px;
    color: #fff;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}
.red_btn:hover,
.black_btn:hover,
.gray_btn:hover,
.btn_2:hover {
    opacity: 0.7;
}
/* コンテンツ */
.contents {
    margin-top:  calc((100/1400)*100vw);
    min-height: calc(100vh - calc((70/1400)*100vw) - 30px - calc(60px + 64px));
}
@media only screen and (min-width:1400px) {
    .contents {
        margin-top: 100px;
        min-height: calc(100vh - 70px - 30px - calc(60px + 64px));
    }
}
/* .c_wrapper:nth-of-type(1) {
    padding-top: 60px;
} */
.c_wrapper {
    max-width: 1200px;
    width: 100%;
    /* min-width: 1080px; */
    margin: 0 auto;
    padding-top: 60px;
}
.gray_box {
background-color: #eee;
padding: 20px;
text-align: center;
width: 70%;
margin: 0 auto;
}
/*main_contents*/
.m_title {
    font-size: 45px;
}
.s_title {
	font-size: 24px;
	padding-left: 5px;
}
.m_contents {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 1%;
	margin-top: 20px;
	padding-left: 5px;
}
.m_contents > img {
    width: 18%;
    max-width: 220px;
    height: auto;
    flex-shrink: 0;
}
.m_contents > img ~ img {
    margin-left: 0;
}
.m_text {
    margin-top: 40px;
}
.m_text_2 {
    margin-top: 40px;
    color: #e60012;
    font-size: 20px;
}
/*sub_contents*/
.c_text_wrapper {
    margin-top: 60px;
    width: 100%;
    background-color: #eee;
    padding: 20px 0;
}
.c_text {
    max-width: 1200px;
    width: 100%;
    /* min-width: 1080px; */
    margin: 0 auto;
    display: flex;
    align-items: center;
}
.c_text > p:nth-of-type(1) {
    font-weight: bold;
    font-size: calc((32/1400)*100vw);
}
@media only screen and (min-width:1200px) {
    .c_text > p:nth-of-type(1) {
        font-size: 32px;
    }
}
.c_text > p:nth-of-type(2) {
    margin-left: 40px;
}
.important_text {
    font-weight: bold;
    font-size: 20px;
}
@media only screen and (max-width:769px) {
    /* コンテンツエリア */
    .breadcrumb {
        display: none;
    }
    .contents {
        margin-top: 14vh;
        min-height: calc(100vh - 14vh - 30px - 60px - 288px);
    }
    .c_wrapper {
        max-width: 100%;
        width: 100%;
        min-width: 100%;
        margin: 6vh auto 0;
        padding: 0 1em;
    }
    .c_wrapper:nth-of-type(1) {
        padding-top: 0;
    }
    .gray_box {
        width: 100%;
    }
    .m_title {
        font-size: 6vw;
    }
    .s_title {
        font-size: 3.3vw;
    }
    .m_contents {
        display: block;
        margin-top: 3vh;
    }
    .m_contents > img {
        width: 30%;
    }
    .m_contents > img ~ img {
        margin-left: 0;
    }
    .c_text_wrapper {
        margin-top: 6vh;
        width: 100%;
        background-color: #eee;
        padding: 2vh 0;
    }
    .c_text {
        max-width: 100%;
        width: 100%;
        min-width: 100%;
        margin: 0 auto;
        display: block;
        align-items: center;
    }
    .c_text > p:nth-of-type(1) {
        font-weight: bold;
        font-size: 6vw;
        padding: 0 1vh;
    }
    .c_text > p:nth-of-type(2) {
        margin-left: 0;
        padding: 0 1vh;
        font-size: 3vw;
        margin-top: 1vh;
    }
}

/*FAQ*/
.qa_text {
	    line-height: 2.0;
}

.qa_title {
	    border-bottom: 1px solid #bbb;
	padding-bottom: 10px;
}

.q_text {
color: #d0030f;
    font-weight: bold;
    font-size: 1.2em;
}

/*フォーム*/
.f_title {
    margin-bottom: 30px;
    border-left: solid 5px #f54337;
    padding-left: 10px;
    font-weight: bold;
    position: relative;
    font-size: 1.1em;
}
.f_title ~ .f_title,
.f_title_2 ~ .f_title_2 {
    margin: 30px 0px;
    display: inline-block;
}
.f_title_2 {
    font-weight: bold;
    position: relative;
}
.f_title_3 {
    margin-bottom: 30px;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
}
.f_text {
    padding-left: 10px;
    margin-bottom: 30px;
    position: relative;
}
.f_text_2 {
    margin-bottom: 0;
    padding-left: 10px;
    position: relative;
}

.f_title.mandatory,
.f_text.mandatory {
    display: inline-block;
}
.mandatory::after,
.mandatory::after {
    content: "必須";
    color: #f54337;
    border: 1px solid #f54337;
    padding: 0 6px;
    position: absolute;
    right: -60px;
    top: calc(50% + 1px);
    transform: translateY(-50%);
    font-weight: bold;
}
::placeholder {
    color: #ccc;
  }
  /* チェックボックス */
.c_box,
.r_box,
.t_box,
.t_box_2 {
    margin-bottom: 30px;
    display: flex;
    margin-left: 10px;
}
.r_box_2 {
    margin-bottom: 30px;
    margin-left: 10px;
}
.c_box input[type=checkbox] {
	display: none;
}
.c_box label:hover,
.r_box label:hover,
.r_box_2 label:hover,
.text_field:hover,
.text_area:hover,
.selectbox:hover,
.selectbox_2:hover {
	border: 1px solid #f54337;
}

.c_box input:checked + label,
.r_box input:checked + label,
.r_box_2 input:checked + label,
.text_field:focus,
.text_area:focus,
.selectbox:focus,
.selectbox_2:focus {
    background-color: #fef9fb;
    border: 1px solid #f54337;
	outline: 2px solid #f54337;
}
.c_box label {
	font-size: calc((16/1200)*100vw);
	line-height: 1;
	position: relative;
	display: block;
	overflow: hidden;
	padding: 1em 1em 1em 3em;
	cursor: pointer;
	/* -webkit-transition: all 0.15s ease;
            transition: all 0.15s ease;
	white-space: nowrap;
	text-overflow: ellipsis; */
	background: #ffffff;
    width: calc((340/1200)*100vw);
    border: 1px solid #cccccc;
    border-radius: 5px;
}
@media only screen and (min-width:1200px) {
    .c_box label {
        font-size: 1em;
        width: 340px;
    }
}
.c_box label:before {
	position: absolute;
	left: 1em;
	width: 15px;
	height: 15px;
	content: '';
	border: 2px solid #cccccc;
    top: 50%;
    transform: translateY(-50%);
}
.c_box input:checked + label:before {
	background: #da3c41;
}
  /* ラジオボタン */
.r_box > li + li,
.c_box > li + li,
.t_box_2 > li + li {
    margin-left: 20px;
}
.r_box_2 > li + li,
.r_box_2 > div + div {
    margin-top: 20px;
}
.r_box input[type=radio],
.r_box_2 input[type=radio] {
    display: none;
}
.r_box label {
    font-size: calc((16/1200)*100vw);
    /* font-size: 1em; */
	line-height: 1;
	position: relative;
	display: block;
	overflow: hidden;
	padding: 1em 1em 1em 3em;
	cursor: pointer;
	/* -webkit-transition: all 0.15s ease;
            transition: all 0.15s ease;
	white-space: nowrap;
	text-overflow: ellipsis; */
	background: #ffffff;
    width: calc((1100/1200)*100vw);
    min-width: calc((1100/1200)*100vw);
    max-width: none;
    border: 1px solid #cccccc;
    border-radius: 5px;
    box-sizing: border-box;
    white-space: nowrap;
}
.r_box_2 label {
    font-size: calc((16/1200)*100vw);
    /* font-size: 1em; */
	line-height: 1;
	position: relative;
	display: block;
	overflow: hidden;
	padding: 1em 1em 1em 3em;
	cursor: pointer;
	/* -webkit-transition: all 0.15s ease;
            transition: all 0.15s ease;
	white-space: nowrap;
	text-overflow: ellipsis; */
	background: #ffffff;
    width: calc((500/1200)*100vw);
    border: 1px solid #cccccc;
    border-radius: 5px;
}
@media only screen and (min-width:1200px) {
    .r_box label {
        font-size: 1em;
        width: 1100px;
        min-width: 1100px;
    }
    .r_box_2 label {
        font-size: 1em;
        width: 500px;
    }
}
.r_box input[type=radio]  + label::before,
.r_box_2 input[type=radio]  + label::before {
    position: absolute;
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    left: calc(1em + 5px);
    top: 50%;
    transform: translateY(-50%);
}
.r_box input[type=radio]  + label::after,
.r_box_2 input[type=radio]  + label::after {
    position: absolute;
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: solid 2px #ccc;
    left: 1em;
    top: 50%;
    transform: translateY(-50%);
}

.r_box input[type=radio]:checked + label::before,
.r_box_2 input[type=radio]:checked + label::before {
    position: absolute;
    content: '';
    display: block;
    background: #fff;
    transform: scale(1, 1) translateY(-50%);
    opacity: 1;
    z-index: 10;
}

.r_box input[type=radio]:checked + label::after,
.r_box_2 input[type=radio]:checked + label::after {
    background-color: #da3c41;
    border: #da3c41;
    transform: scale(1, 1) translateY(-50%);
    opacity: 1;
}

/* カレンダー */
.cal {
	line-height: 1;
    position: relative;
    display: block;
    overflow: hidden;
    padding: 1em;
    cursor: pointer;
    background: #ffffff;
    width: calc((350/1200)*100vw);
    border: 1px solid #cccccc;
    border-radius: 5px;
    box-sizing: border-box;
}

@media only screen and (min-width:1200px) {
    .cal{
        font-size: 1em;
        width: 350px;
    }
}
/* テキストフィールド */
.t_box {
    width: 620px;
}
.t_box_2 > li {
    width: 300px;
}
.text_field {
    width: 100%;
    background-color: #fff;
    border: 1px solid #cccccc;
    padding: 10px;
    display: block;
    border-radius: 5px;
}
.text_field_2 {
    width: 100%;
    background-color: #fff;
    border: 1px solid #cccccc;
    padding: 10px;
    display: block;
    border-radius: 5px;
}
/* テキストエリア */
.text_area {
    width: 100%;
    background-color: #fff;
    border: 1px solid #cccccc;
    padding: 10px;
    display: block;
    border-radius: 5px;
}
/* セレクトボックス */
.s_box {
    margin-bottom: 30px;
    display: flex;
    margin-left: 10px;
}
.s_box > li {
    display: flex;
    align-items: center;
    width: 250px;
}
.s_box > li > div:nth-of-type(1) {
    width: 80%;
}
.s_box > li > div:nth-of-type(2) {
    width: 20%;
    padding-left: 10px;
}
.s_box_2 {
    margin-bottom: 30px;
    display: flex;
    margin-left: 10px;
}
.s_box_2 > li {
    width: 300px;
}
.s_box_3 {
    margin-bottom: 30px;
    display: flex;
    margin-left: 10px;
}
.s_box_3 > li {
    display: flex;
    align-items: center;
    width: 300px;
}
.s_box_3 > li > div:nth-of-type(1) {
    width: 80%;
}
.s_box_3 > li > div:nth-of-type(2) {
    width: 20%;
    padding-left: 10px;
}

.selectbox {
    width: 100%;
    background-color: #fff;
    border: 1px solid #cccccc;
    padding: 10px;
    display: block;
    border-radius: 5px;
    position: relative;
    appearance: none;
}
.selectbox_2 {
    text-align: center;
    width: 100%;
    background-color: #fff;
    border: 1px solid #cccccc;
    padding: 10px 0;
    display: block;
    border-radius: 5px;
    position: relative;
    appearance: none;
}
.selectbox_2 option {
    text-align: center;
}
.triangle {
    position: relative;
}
.triangle::after {
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
	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;
}
.line {
    margin-top: 60px;
    border-top: 5px solid #eee;
}
/* バリデーション */
.errors > li:nth-last-child(1) {
    margin-bottom: 60px;
}
.error {
    margin: 0 0 20px;
    color: #E60012;
}
.caution {
    margin: 20px 0;
    color: #E60012;
    text-align: center;
}
.description {
    margin-bottom: 20px;
}
.menu_item {
    display: none;
}
.menu_item.current{
    height: 200px;
    border: 1px solid #000;
    display: block;
}

@media only screen and (max-width:769px) {
/* フォーム  */
.f_title ~ .f_title,
.f_title_2 ~ .f_title_2 {
    margin-bottom: 3vh;
}
.f_text ~ .f_text,
.f_text_2 ~ .f_text_2 {
    margin-bottom: 3vh;
}
.c_box,.r_box {
    margin-left: 0;
    margin-bottom: 3vh;
    display: block;
}
.c_box label {
    width: 100%;
}
.c_box > li,
.r_box > li {
    margin-bottom: 2vh;
}
.c_box > li + li,
.r_box > li + li {
    margin-left: 0;
}
.c_box label,
.r_box label,
.r_box_2 label {
    width: 100%;
    font-size: 3vw;
}
.t_box {
    margin-left: 0;
    width: 100%;
}
.t_box_2 {
    display: block;
    margin-left: 0;
}
.t_box_2 > li {
    width: 100%;
}
.t_box_2 > li + li {
    margin-top: 3vh;
    margin-left: 0;
}
.s_box_2 {
    margin-left: 0;
}
.s_box,
.s_box_3 {
    display: block;
    margin-left: 10px;
}
.s_box > li,
.s_box_3 > li {
    width: 100%;
}
.s_box > li + li,
.s_box_3 > li + li{
    margin-top: 3vh;
}
.selectbox_2 {
    padding: 10px;
}
.text_field {
    font-size: 3vw;
    width: 100%;
}
.btn_l {
    width: 100%;
    margin-top: 3vh;
}
}

/* アイコン */
.lanscope_icon {
    position: relative;
	padding-left: 55px;
	border: none !important;
}
.lanscope_icon::before {
    content: "";
    position: absolute;
    background-image: url("/img/lanscope_icon.png");
    background-size: cover;
    width: 31px;
    height: 20px;
    top:50%;
    left: 10px;
    transform: translateY(-50%);
}

.BB_icon {
    position: relative;
	padding-left: 55px;
	border: none !important;
}
.BB_icon::before {
    content: "";
    position: absolute;
    background-image: url("/img/BB_icon.png");
    background-size: cover;
    width: 29px;
    height: 23px;
    top:50%;
    left: 10px;
    transform: translateY(-50%);
}

.SCA_icon {
    position: relative;
	padding-left: 55px;
	border: none !important;
}
.SCA_icon::before {
    content: "";
    position: absolute;
    background-image: url("/img/SCA_icon.png");
    background-size: cover;
    width: 25px;
    height: 28px;
    top:50%;
    left: 10px;
    transform: translateY(-50%);
}

.RDT_icon {
    position: relative;
	padding-left: 55px;
	border: none !important;
}
.RDT_icon::before {
    content: "";
    position: absolute;
    background-image: url("/img/RDT_icon.png");
    background-size: cover;
    width: 29px;
    height: 26px;
    top:50%;
    left: 10px;
    transform: translateY(-50%);
}

.PFS_icon {
    position: relative;
	padding-left: 55px;
	border: none !important;
}
.PFS_icon::before {
    content: "";
    position: absolute;
    background-image: url("/img/PFS_icon.png");
    background-size: cover;
    width: 40px;
    height: 24px;
    top:50%;
    left: 10px;
    transform: translateY(-50%);
}

/* newページ専用: ラジオボタンとアイコンのレイアウト調整 */
.r_box.r_box_new {
    flex-direction: column !important;
    display: flex !important;
}
.r_box.r_box_new > li {
    margin-left: 0 !important;
    margin-bottom: 15px !important;
    width: 100% !important;
}
.r_box.r_box_new > li:last-child {
    margin-bottom: 0 !important;
}
.r_box.r_box_new > li > label {
    width: 100% !important;
    max-width: 1200px !important;
    min-width: 800px !important;
    padding-left: 1em !important;
    padding-right: 1em !important;
    white-space: nowrap !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}
@media only screen and (min-width:1200px) {
    .r_box.r_box_new > li > label {
        width: 1200px !important;
        max-width: 1200px !important;
    }
}
/* ラジオボタンの円を左側に配置 */
.r_box.r_box_new > li > input[type=radio] + label::after {
    left: 1em !important;
    width: 18px !important;
    height: 18px !important;
}
.r_box.r_box_new > li > input[type=radio] + label::before {
    left: calc(1em + 5px) !important;
    width: 8px !important;
    height: 8px !important;
}
/* アイコンをラジオボタンの右側に配置（ラジオボタンの右側、約40pxの位置） */
.r_box.r_box_new > li > label.lanscope_icon::before,
.r_box.r_box_new > li > label.BB_icon::before,
.r_box.r_box_new > li > label.SCA_icon::before,
.r_box.r_box_new > li > label.RDT_icon::before,
.r_box.r_box_new > li > label.PFS_icon::before {
    left: 3em !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}
/* アイコン用のpadding調整（アイコンの右側にテキストが来るように） */
.r_box.r_box_new > li > label.lanscope_icon,
.r_box.r_box_new > li > label.BB_icon,
.r_box.r_box_new > li > label.SCA_icon,
.r_box.r_box_new > li > label.RDT_icon,
.r_box.r_box_new > li > label.PFS_icon {
    padding-left: 6em !important;
}

.confirm {
    margin-bottom: 30px;
    padding-left: 10px;
}
.confirm > dt {
    font-weight: bold;
}
.confirm > dt ~ dt {
    margin-top: 20px;
}
.confirm > dt,
.confirm > dd {
    word-break: break-word;
}
.confirm > dd {
    margin-top: 10px;
}

/* トップページ
========================================================================== */
.note {
text-indent: -1em;
margin-left: 1em;
font-size: 14px;
color: #666 !important;
padding: 0;
}
.note::before {
content: "※ ";
}
.table{
width: 100%;
border-collapse: collapse;
margin-bottom: 20px;
}
.table thead th {
padding: 10px 10px 10px;
background: #eee;
text-align: center;
border: 1px solid #ddd;
}
.table td {
padding: 15px;
border: 1px solid #ddd;
}
.g_back{
background: #eee;
padding: 20px;
}
.g_back li{
position: relative;
background: #fff;
padding: 20px;
}
.g_back li ~ li{
margin-top: 20px;
}

.g_back li ~ li:after{
    position: absolute;
    content: "";
    display: block;
    height: 20px;
    background-color: #ccc;
    top: 0;
    left: 50%;
    width: 5px;
    transform: translate(-50%, -100%);
}

.left_box, .right_box{
display: inline-block;
width: 48%;
vertical-align: top;
}
.left_box{
margin-right: 3%;
}

.text {
display: block !important;
}
.red_box{
border: 10px solid #E60012;
padding: 30px;
margin: 40px 0;
}

.red_box_text{
font-weight: bold;
color: #E60012;
font-size: 32px;
}
@media only screen and (max-width:769px) {
    .left_box,
    .right_box{
    display: block;
    width: 100%;
    vertical-align: top;
    }
    .left_box{
    margin-right: 0;
    }
    .table_wrapper {
        display: block;
        width: 100%;
    }
}

#ie_block {
color:#ff0000;
font-size:1.2em;
text-decoration:none;
}

.pncheck {
    position: relative;
    text-align: center;
    width: 390px;
    margin: 50px auto 0;
}
.pncheck::after {
    background-image: url("/img/icon_2_w.png");
    content: "";
    display: inline-block;
    background-position: left;
    background-repeat: no-repeat;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-size: 100%;
}

.pncheck .inputArea-checkbox{
		width: 22px;
    height: 22px;
    border: 1px solid #333;
    margin-right: 10px;
}

.pncheck checkbox:checked+label:after {
    content: "";
    display: block;
    position: absolute;
    transform: rotate(40deg);
    top: -6px;
    left: 3px;
    width: 10px;
    height: 18px;
    border-bottom: 3px solid #707070;
	border-right: 3px solid #707070;
}

.tooltip {
    display: none;
    position: absolute;
    background-color: #eee;
    border-radius: 5px;
    padding: 30px;
    transform: translateY(-50%) translateX(-50%);
    left: 50%;
    width: 762px;
    text-align: left;
    /* box-shadow: rgba(0,0,0,0.5)3px 4px 6px 0px; */
    top: -90px;
}
.tooltip::after {
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    left: 0;
    right: 0;
    bottom: -56px;
    margin: 0 auto;
    border: solid transparent;
    border-top-color: #eee;
    border-width: 30px;
    pointer-events: none;
    content: "";
}
.tooltip.on {
    display: block;
}
.pncheck > input{
    vertical-align: top;
    margin-right: 10px;
}
.pn_txt {
    margin-top: 10px;
    text-align: center;
    color: #E60012;
}
@media only screen and (max-width:769px) {
    .pncheck {
        width: auto;
        text-align: left;
    }
    .tooltip {
        width: 96vw;
        top: -100px;
        box-shadow: 3px 3px 6px 1px rgb(0 0 0 / 20%);
    }

}

/* footer
========================================================================== */
.footer {
    margin-top: 60px;
    width: 100%;
    background-color: #fff;
    border-top: 1px solid #ccc;
}
.f_wrapper {
    display: flex;
    align-items: center;
    padding: 20px 0 20px 0;
    position: relative;
    margin: 0 auto;
    color: #333;
    justify-content: space-around;
}
.f_navi {
    margin-left: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.f_navi li + li a::before {
    position: absolute;
    left: -2px;
    content: "|";
    top: 50%;
    transform: translateY(-50%);
}

.f_navi a {
    color: #333;
    position: relative;
    padding: 10px 15px;
    font-size: calc((14/1400)*100vw);
}
@media only screen and (min-width:1200px) {
    .f_navi a {
        font-size: 14px;
    }
}
/* .copylight {
    position: absolute;
    right: 120px;
    top: 50%;
    transform: translateY(-50%);
} */
/* toTOP */
#footer #pagetop {
    position: fixed;
    bottom: 20px;
    right: 30px;
    background: #fff;
    cursor: pointer;
    border-radius: 50%;
    display: block;
    width: 55px;
    height: 55px;
    overflow: hidden;
    text-indent: 110%;
    white-space: nowrap;
    transition: all 0.3s ease-in-out;
    border: 1px solid #f54337;
	}

#footer #pagetop:after {
    content: '';
    position: absolute;
    display: block;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -20%) rotate(45deg) skew(10.5deg, 10.5deg);
    border-top: 1px solid #f54337;
    border-left: 1px solid #f54337;
}

@media only screen and (max-width:769px) {

    .f_wrapper {
        width: 100%;
        padding: 0;
        display: block;
    }
    .f_navi {
        display: block;
        margin-left: 0;
    }
    .f_navi a {
        padding: 1.5vh 5vw 1.5vh 3vw;
        display: block;
        border-bottom: 1px solid #fff;
        font-size: 3vw;
    }
    .f_navi li + li a::before {
        display: none;
    }
    .copylight {
        position: static;
        text-align: center;
        padding: 2vh 0;
    }
}

/* 2023.02.16 追記
========================================================================== */
.flow__blk{
    margin-top: 54px;
}
.flow__blk .flow__img{
    width: 85%;
}
.flow__blk .flow__img img{
    width: 100%;
    height: auto;
}

@media only screen and (max-width:769px){
    .flow__blk{
        margin-top: 0;
    }
    .flow__blk .flow__img{
        width: 100%;
    }
}

/* 重要なお知らせ */
.important_news{
    color: #E60012;
    border: 1px solid #E60012;
    text-align: center;
    padding: 20px;
    width: 55%;
    margin: auto;
}
@media only screen and (max-width: 769px) {
    .important_news {
        width: 100%;
    }
}

/* typeページ専用: ラジオボタンの幅を568pxに調整（forms.lanscope.jpに合わせる） */
.r_box {
    width: 568px !important;
}
.r_box label {
    width: 568px !important;
    min-width: 568px !important;
    max-width: 568px !important;
}
@media only screen and (min-width:1200px) {
    .r_box {
        width: 568px !important;
    }
    .r_box label {
        width: 568px !important;
        min-width: 568px !important;
        max-width: 568px !important;
    }
}
@media only screen and (max-width:769px) {
    .r_box {
        width: 100% !important;
    }
    .r_box label {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}