@charset "shift_jis";

/* ======================
 * Common CSS
======================= */

@font-face {
	font-family: 'Noto Sans CJK JP';
	font-style: normal;
	font-weight: 900;
	src:url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff2) format('woff2'),
			url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff) format('woff'),
			url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.otf) format('opentype');
}

.noto_jp { font-family: 'Noto Sans CJK JP'; }


/* Base
=========================================*/
*,
*::before, 
*::after {
  box-sizing: border-box;
}
body{
    font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Meiryo", "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
}
#content{
    background-color: #ececed;
}
.inner{
    width: 1200px;
    margin: auto;
}
.flex_center{
    display: flex;
    align-items: center;
    justify-content: center;
}
.is_tablet{
    display: none;
}

/* header
=========================================*/
/*
#header{
    border-bottom: solid 2px #c7c7c7;
    background-color: #fff;
    height: 62px;
    display: flex;
    align-items: center;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
}
#header .epos_logo{
    width: 1200px;
    margin: auto;
}
#header .epos_logo a{
    display: inline-block;
    margin: -4px 0 0 23px;
}
*/
#sp_header{
		border-bottom: solid 2px #c7c7c7;
		background-color: #fff;
		height: 62px;
		display: none;
		align-items: center;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 1000;
}
#sp_header .epos_logo{
		width: 1200px;
		margin: auto;
}
#sp_header .epos_logo a{
		display: inline-block;
		margin: -4px 0 0 23px;
}
/* firstview
=========================================*/
#firstview{
    margin-top: 0;
    background-color: #fff;
    background-image: url(/insurance/recurring/images/recurring_firstview_bg.png);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center top;
    padding-bottom: 20px;
}
#firstview .heading{
    font-size: 64px;
    color: #424242;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.06em;
    padding: 120px 0 40px;
    width: 1004px;
    margin: auto;
}
#firstview .heading strong{
    font-weight: 900;
    color: #45aab9;
    letter-spacing: 0.16em;
}
#firstview .heading .typo_no{
    display: inline-block;
    font-size: 0.8em;
}
#firstview .heading .typo_ka{
    display: inline-block;
    letter-spacing: -0.02em;
}
#firstview .heading .typo_-{
    transform: scale(0.8, 1);
    display: inline-block;
    letter-spacing: -0.2em;
}
#firstview .nav_anchor{
    width: 1004px;
    margin: auto;
}
#firstview .nav_anchor .nav_anchor_inner{
    display: flex;
    justify-content: space-between;
}
#firstview .nav_anchor .nav_anchor_list{
    width: 328px;
    height: 116px;
    text-align: center;
    background-repeat: no-repeat;
    background-size: 100%;
}
#firstview .nav_anchor .nav_anchor_list:nth-of-type(1){
    background-image: url(/insurance/recurring/images/recurring_nav_anchor01.svg);
}
#firstview .nav_anchor .nav_anchor_list:nth-of-type(2){
    background-image: url(/insurance/recurring/images/recurring_nav_anchor02.svg);
}
#firstview .nav_anchor .nav_anchor_list:nth-of-type(3){
    background-image: url(/insurance/recurring/images/recurring_nav_anchor03.svg);
}
#firstview .nav_anchor .nav_anchor_list a{
    display: block;
    width: 100%;
    height: 100%;
    color: #333;
    text-decoration: none;
    font-size: 24px;
    font-weight: bold;
    padding-top: 30px;
    letter-spacing: 0.04em;
}
#firstview .change_text{
    position: relative;
    width: fit-content;
    margin: 0 auto;
    padding: 0 45px;
    font-size: 2.4rem;
    font-weight: bold;
}
#firstview .change_text::before{
    content: '';
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 32px;
    height: 36px;
    background: url("/insurance/recurring/images/recurring_change_ic01.png") no-repeat;
}
#firstview .change_text::after{
    content: '';
    position: absolute;
    bottom: 5px;
    right: 0;
    width: 32px;
    height: 36px;
    background: url("/insurance/recurring/images/recurring_change_ic01.png") no-repeat;
    transform: scale(-1, 1);
}
#firstview .change_text02{
    margin-top: 10px;
    text-align: center;
    font-size: 3.4rem;
    font-weight: bold;
}
#firstview .change_text02 span{
    background:linear-gradient(transparent 60%, #cce6e9 60%, #cce6e9 90%, transparent 90%);
}
#firstview .change_box{
    position: relative;
    width: 804px;
    margin: 15px auto 52px;
    padding: 2px 2px 6px;
    border-radius: 20px;
    background-color: #ccc;
}
#firstview .change_box::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 4px);
    border-radius: 20px;
    background-color: #808080;
}
#firstview .change_box .change_box_inner{
    position: relative;
    padding: 25px 48px 48px;
    border-radius: 20px;
    background-color: #fff;
    overflow: hidden;
}
#firstview .change_box .change_box_inner::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 93px;
    background: url("/insurance/recurring/images/recurring_change_bg01.png") repeat-x top left;
}
#firstview .change_box .change_box_title{
    position: relative;
    padding-bottom: 35px;
    text-align: center;
    font-size: 2.6rem;
    font-weight: bold;
    z-index: 1;
}
#firstview .change_column{
    display: flex;
    align-items: center;
    margin-top: 20px;
}
#firstview .change_column .change_column_item{
    width: calc(50% - 45px);
}
#firstview .change_column .change_column_item:first-child{
    position: relative;
    margin-right: 90px;
}
#firstview .change_column .change_column_item:first-child::before{
    content: '';
    position: absolute;
    top: 0;
    right: -45px;
    width: 2px;
    height: 100%;
    background-color: #e6e6e6;
}
#firstview .change_column .change_column_item:first-child::after{
    content: '';
    position: absolute;
    top: 50%;
    right: -57px;
    width: 25px;
    height: 25px;
    margin-top: -11.5px;
    border-top: 2px solid #e6e6e6;
    border-right: 2px solid #e6e6e6;
    background-color: #fff;
    transform: rotate(45deg);
}
#firstview .change_column .change_column_image{
    text-align: center;
}
#firstview .change_column .change_column_image img{
    height: 81px;
}
#firstview .change_order{
    display: flex;
    align-items: center;
    margin-top: 15px;
}
#firstview .change_order .change_order_icon{
    width: 43px;
    height: 43px;
  margin-right: 15px;
    padding: 2px 11px;
    border-radius: 50%; 
    background-color: #808080;
}
#firstview .change_order .change_order_icon span{
    text-align: center;
    font-size: 3rem;
    color: #fff;
    font-weight: bold;
}
#firstview .change_order .change_order_text{
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.3;
}
#firstview .change_order .change_order_text .lead{
    color: #008191;
}
#firstview .change_bubble{
    position: relative;
    margin-top: 28px;
    padding: 14px 34px;
    border-radius: 20px;
    background-color: #e6e6e6;
}
#firstview .change_bubble::before{
    content: '';
    position: absolute;
    top: -20px;
    left: 115px;
    width: 0;
    height: 0;
    border-bottom: 20px solid #e6e6e6;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
}
#firstview .change_bubble_media{
    display: flex;
    align-items: center;
}
#firstview .change_bubble_media_head{
    flex-shrink: 0;
    width: 90px;
}
#firstview .change_bubble_media_head .change_bubble_media_image img {
    height: 70px;
}
#firstview .change_bubble_text {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.3;
}
#firstview .change_bubble_text .lead {
    color: #008191;
}

/* merit
=========================================*/
#merit{
    color: #333;
    letter-spacing: 0.06em;
    padding-bottom: 60px;
}
#merit .heading{
    background-color: #45aab9;
    color: #fff;
    text-align: center;
    font-weight: 900;
    line-height: 1.4;
    font-size: 46px;
    letter-spacing: 0.14em;
    padding: 60px 0 130px;
    margin-bottom: -110px;
}
#merit .heading strong{
    font-weight: 900;
}
#merit .heading .typo_3{
    display: inline-block;
    position: relative;
    font-size: 1.4em;
}
#merit .heading .typo_merit{
    display: inline-block;
    position: relative;
    font-size: 1.2em;
}
#merit .merit_list{
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.1);
    border: solid 6px #fff;
}
#merit .merit_list .title{
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    position: relative;
    z-index: 2;
    padding: 50px 0 30px;
}
#merit .merit_list .title span{
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    display: block;
    width: 146px;
    height: 146px;
    border-radius: 50%;
    background-color: #fff;
    z-index: -1;
    padding-top: 20px;
}
#merit .merit_list.merit_01 .title span img{
    width: 14px;
    margin-left: -7px;
}
#merit .merit_list.merit_02 .title span img{
    width: 22px;
}
#merit .merit_list.merit_03 .title span img{
    width: 22px;
}
#merit .merit_list.merit_04 .title span img{
    width: 23px;
}
#merit .merit_list_col2{
    display: flex;
    justify-content: space-between;
		flex-flow: row wrap;
    margin-top: 55px;
}
#merit .merit_list .definition{
    background-color: #ecf6f8;
    border-radius: 0 0 15px 15px;
    text-align: center;
    padding: 30px;
    position: relative;
    z-index: 2;
}
#merit .merit_01 .definition img{
    width: 472px;
}
#merit .merit_list .definition .point_example{
    background-color: #fff;
    border-radius: 14px;
    padding: 14px 20px 20px 20px;
}
#merit .merit_list .definition .point_example .sub_title_01{
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.06em;
    border-bottom: solid 2px #c7c7c7;
    padding: 0px 0 5px;
}
#merit .merit_list .definition .point_example .sub_title_01 .ic_osaifu{
    width: 23px;
    vertical-align: sub;
    margin-right: 15px;
}
#merit .merit_list .definition .point_example .sub_title_01 strong{
    font-size: 36px;
    font-weight: 700;
    display: inline-block;
    padding: 0 0.1em 0 0.21em;
    position: relative;
    top: 1px;
}
#merit .merit_list .definition .point_example .sub_title_01 strong span{
    font-size: 0.6em;
    position: relative;
    top: -2px;
}
#merit .merit_list .definition .point_example .point_list{
    display: flex;
    justify-content: space-between;
    margin-top: 21px;
}
#merit .merit_list .definition .point_example .point_list + .point_list{
    margin-top: 10px;
}
#merit .merit_list .definition .point_example .point_list.type02 + .point_list.type02{
    margin-top: 0;
}
#merit .merit_list .definition .point_example .point_list dt{
    color: #585757;
    padding: 7px 11px 2px;
    height: 66px;
    width: 102px;
    text-align: left;
    font-size: 20px;
    font-weight: 500;
    background-image: url(/insurance/recurring/images/recurring_shape_01.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    line-height: 1.2;
}
#merit .merit_list .definition .point_example .point_list dt .fs_small{
    font-size: 0.8em;
}
#merit .merit_list .definition .point_example .point_list dd{
    color: #424141;
    text-align: right;
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: normal;
    display: flex;
    align-items: flex-end;
    letter-spacing: -0.03em;
}
#merit .merit_list .definition .point_example .point_list dd .fs_small{
    font-size: 0.6em;
    position: relative;
    top: -1px;
}
.underline{
    position: relative;
    z-index: 2;
}
.underline::after{
    content: "";
    display: block;
    width: 100%;
    height: 10px;
    background-color: #ebafa2;
    position: absolute;
    bottom: 0.1em;
    left:0;
    z-index: -1;
}
#merit .merit_list .definition_col2{
    display: flex;
    justify-content: space-between;
}
#merit .merit_list .definition .point_step{
    background-color: #fff;
    border-radius: 14px;
    position: relative;
    overflow: hidden;
    width: 270px;
    padding: 0 0 9px 0;
    z-index: 1;
}
#merit .merit_list .definition .point_step.step1,
#merit .merit_list .definition .point_step.step2{
    margin-bottom: 7px;
}
#merit .merit_list .definition .point_step.step_comp{
    background-color: #de7964;
    padding-top: 13px;
    padding-bottom: 9px;
}
#merit .merit_list .definition .point_step_wrap_inner{
    position: relative;
}
#merit .merit_list .definition .point_step_wrap_inner .step_triangle{
    position: absolute;
    width: 50px;
    vertical-align: top;
    bottom: -22px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
}
#merit .merit_list .definition .point_step .num{
    background-color: #de7964;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: block;
    position: absolute;
    top: -41px;
    left: -41px;
}
#merit .merit_list .definition .point_step .num img{
    position: absolute;
    bottom: 13px;
}
#merit .merit_list .definition .point_step.step1 .num img{
    width: 7px;
    right: 22px;
}
#merit .merit_list .definition .point_step.step2 .num img{
    width: 12px;
    right: 18px;
}
#merit .merit_list .definition .point_step .sub_title_02{
    color: #555555;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin-top: 18px;
    padding-left: 0.6em;
}
#merit .merit_list .definition .point_step .step_epos_card{
    margin-top: 6px;
}
#merit .merit_list .definition .point_step.step1 .step_epos_card{
    width: 64px;
}
#merit .merit_list .definition .point_step.step2 .step_epos_card{
    width: 82px;
}
.btn a{
    background-color: #45aab9;
    border-radius: 38px;
    width: 550px;
    margin: 20px auto 0;
    padding: 14px 15px 14px 15px;
    box-shadow: 0px 3px 0px 0px rgba(62,132,143,1.0);
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    -moz-text-shadow: -1.5px -1.5px 0px rgba(0, 4, 0, 0.25);
    -webkit-text-shadow: -1.5px -1.5px 0px rgba(0, 4, 0, 0.25);
    -ms-text-shadow: -1.5px -1.5px 0px rgba(0, 4, 0, 0.25);
    text-shadow: -1.5px -1.5px 0px rgba(0, 4, 0, 0.25);
    letter-spacing: normal;
    display: block;
    background-image: url(/insurance/recurring/images/recurring_btn_arrow.svg);
    background-repeat: no-repeat;
    background-position: 94% center;
}
.btn a .btn_arrow{
    vertical-align: text-bottom;
    margin-left: 20px;
}

/* procedure
=========================================*/
#procedure{
    color: #333;
    letter-spacing: 0.06em;
}
#procedure .heading{
    background-color: #c6895f;
    color: #fff;
    text-align: center;
    font-weight: 900;
    line-height: 1.4;
}
#page.recurring #procedure .heading strong{
    font-size: 1.2em;
}
#procedure .title{
    text-align: center;
}
#procedure .text{
    font-size: 16px;
    text-align: center;
    margin-top: 20px;
}
#procedure .text02{
    font-size: 20px;
    text-align: center;
    margin-top: 20px;
}
#procedure .notes{
    font-size: 16px;
    text-align: center;
    margin-top: 20px;
    padding-bottom: 25px;
}
#procedure .notes02{
    font-size: 16px;
    text-align: center;
    margin-top: 20px;
}
#procedure .select:first-child .notes{
    margin-top: 50px;
}
#procedure .notes li + li{
    margin-top: 0.5em;
}
#procedure .company_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#procedure .company_list .col{
    text-align: center;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    padding: 12px 10px 14px 2px;
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0px 4px 0px 0px rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    background-image: url(/insurance/recurring/images/recurring_arrow_orange.svg);
    background-repeat: no-repeat;
    background-size: 7px 12px;
    background-position: 93% center;
    margin-right: 10px;
    margin-top: 15px;
}
#procedure .company_list .col:nth-of-type(6n){ 
    margin-right: 0;
}
#procedure .company_list .col .name{
    font-size: 16px;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: center;
}
#procedure .company_list .col .point{
    font-size: 12px;
    background-color: #f6edb2;
    border-radius: 16px;
    display: inline-block;
    padding: 7px 12px 8px;
    margin-top: 3px;
    text-align: center;
}
#procedure .company_list .col .point.not_point{
    background-color: #ececed;
    font-size: 11px;
    letter-spacing: -0.03em;
    padding: 8px 12px 9px;
}
#procedure .prepare{
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.1);
    padding: 40px 60px;
    font-size: 18px;
    font-weight: bold;
    margin-top: 45px;
}
#procedure .prepare .sub_title{
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}
#procedure .prepare .prepare_inner{
    width: 900px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}
#procedure .prepare .prepare_case{
    width: 441px;
}
#procedure .prepare .prepare_case dt,
#procedure .prepare .prepare_case dd{
    text-align: center;
    display: flex;
    flex-direction: column;
    background-repeat: no-repeat;
}


/* Q&A
=========================================*/
#qa{
    color: #333;
    letter-spacing: 0.06em;
}
#qa .heading{
    background-color: #80286e;
    color: #fff;
    text-align: center;
    font-weight: 900;
    line-height: 1.4;
}
#qa .heading strong{
    font-size: 1.4em;
}
#qa .heading span{
    font-size: 1.2em;
}
#qa .qa_list,
#qa .qa_note{
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.1);
}
#qa .qa_list + .qa_list,
#qa .qa_note + .qa_note{
    margin-top: 10px;
}
#qa .qa_list .question,
#qa .qa_list .answer,
#qa .qa_note{
    background-repeat: no-repeat;
}
#qa .qa_list .question{
    background-image: url(/insurance/recurring/images/recurring_qa_q.png);
    background-size: 31px 34px;
}
#qa .qa_list .answer{
    font-weight: bold;
    border-radius: 15px;
    background-image: url(/insurance/recurring/images/recurring_qa_a.png);
    background-size: 30px 32px;
    background-color: #f2e9f0;
}
#qa .qa_note{
    background-image: url(/insurance/recurring/images/recurring_qa_i.png);
    background-size: 32px 32px;
}
#qa .info{
    text-align: center;
}

/* Footer
=========================================*/
#footer{
    background-color: #c7c7c7;
    color: #424242;
    text-align: center;
    font-size: 16px;
}
#footer #siteIdentity .corporateLogo{
    display: block;
    width: auto;
    font-weight: bold;
}
#footer #siteIdentity .copyright{
    display: block;
    font-size: 12px !important;
    margin-top: 15px !important;
    margin-bottom: 0 !important;
}

/* Utility Style
------------------------------------------------------ */
.posTop-1px { position: relative; top: -1px !important; }
.posTop-2px { position: relative; top: -2px !important; }
.posTop-3px { position: relative; top: -3px !important; }
.posTop-4px { position: relative; top: -4px !important; }
.posTop-5p { position: relative; top: -5% !important; }
.bgPosTop25px { background-position-y: 25px !important; }
.w113 { width: 113px !important; }
.w140 { width: 140px !important; }
.pb11 { padding-bottom: 11px!important;}
.pt0 { padding-top: 0px!important; }
.pl0 { padding-left: 0px!important; }
.pr0 { padding-right: 0px!important; }
.mt1 { margin-top: 1px!important;}
.mt2 { margin-top: 2px!important;}
.mt3 { margin-top: 3px!important;}
.mt4 { margin-top: 4px!important;}
.mt6 { margin-top: 6px!important;}
.mt7 { margin-top: 7px!important;}
.mt8 { margin-top: 8px!important;}
.mt9 { margin-top: 9px!important;}
.mt11 { margin-top: 11px!important;}
.mt12 { margin-top: 12px!important;}
.mt13 { margin-top: 13px!important;}
.mt14 { margin-top: 14px!important;}
.mt16 { margin-top: 16px!important;}
.ml0 { margin-left: 0px!important;}
.flL { float: left !important; }
.flR { float: right !important; }
.flNone { float: none !important; }
.align_item_start { align-items: start !important; }
.fwN{ font-weight: normal!important; }

/* Clearfix
------------------------------------------------------ */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix {
	zoom: 1;
}
