
/*-----------------------------------------------
 *	Heading settings
-----------------------------------------------*/
.policy_wrapper {padding: 60px 0 0;letter-spacing: 0.05em;margin-top: -60px;}
.policy_wrapper .content_ttl {font-size: min(2.5vw, 30px);line-height: 1.4;color: var(--site-primary);background: #d1e8f6;text-align: center;padding: 0.55em 1em 0.7em;margin: 0 0 28px;}
.policy_wrapper h3 {font-size: 27px;padding: 2px 0 12px 20px;line-height: 1.0;border-bottom: 2px solid #dde5e7;position: relative;margin: 44px 0 22px;}
.policy_wrapper h3::before {content: '';background: linear-gradient(180deg, #87c2e8 0%, #87c2e8 50%, #1085d2 50%, #1085d2 100%);height: 32px;width: 6px;display: block;position: absolute;left: 0;top: 0;}
.policy_wrapper h3 .en_txt::after {content: '―';padding-left: 5px;}
.policy_wrapper h3 span{color: var(--site-primary);margin: 0 10px 0 0;}

.policy_wrapper h4 {font-size: 22px;font-weight: bold;font-family: 'Noto Sans JP';margin-bottom: 15px;}
.policy_wrapper p {margin-bottom: 32px;}
.policy_wrapper p strong {color: var(--site-primary);font-weight: bold;}
.policy_wrapper li strong {color: var(--site-primary);font-weight: bold;}
.policy_wrapper a {color: var(--site-primary);font-weight: bold;text-decoration: underline;text-underline-offset: 8px;}
.policy_wrapper p.reference_txt{color: #999;text-align: center;}
.policy_wrapper p.reference_txt a:hover{text-decoration: none;}
@media only screen and (max-width: 1024px) {
.policy_wrapper h2 span{font-size: 26px;}
.policy_wrapper h3 {font-size: 25px;letter-spacing: 0;}
.policy_wrapper h3 .en_txt{font-size: 22px;}
}
@media only screen and (max-width: 960px) {
.policy_contents {padding: 4vw;}
.policy_wrapper h2 {font-size: 24px;margin: 36px 0 30px;}
.policy_wrapper h2 span {font-size: 20px;}
.policy_wrapper h3 {font-size: 19px;margin: 26px 0 15px;}
.policy_wrapper h3 .en_txt{font-size: 17px;}
.policy_wrapper p {margin-bottom: 26px;}
.policy_wrapper p.reference_txt {margin-bottom: 30px;}
}
@media only screen and (max-width: 568px) {
.ttl_left_border::before {width: 5px;height: 77%;}
.policy_wrapper {width: 100%;padding: 0;margin-top: 0;}
.policy_wrapper .content_ttl {font-size: 21px;}
.policy_wrapper h2 {font-size: 21px;margin: 33px 0 18px;line-height: 1.4;padding: 0.3em 2vw 0.4em;}
.policy_wrapper h2 span {font-size: 16px;}
.policy_wrapper h3 {font-size: 21px;padding: 4px 0 8px 17px;margin-bottom: 20px;line-height: 1.5;}
.policy_wrapper h3::before {height: 85%;width: 5px;top: 1%;}
.policy_wrapper h3 .en_txt {display: block;font-size: 18px;margin: 0 0 5px 0;}
.policy_wrapper h3 .en_txt::before {content: '―';padding-right: 5px;}
.policy_wrapper h3 .en_txt::after {content: '―';padding-left: 5px;}

.policy_wrapper h4 {font-size: 18px;margin-bottom: 10px;}
.policy_wrapper p {line-height: 1.78;margin-bottom: 18px;}
}
/*-----------------------------------------------
 *	Contents
-----------------------------------------------*/
.policy_contents .ttl_content_top{font-size: 29px;text-align: center;color: #fff;font-weight: bold;margin-bottom: 0;padding: 15px 0;border-radius: 10px 10px 0 0;line-height: 1.6;background: var(--site-primary) !important;}
.policy_contents .bg_stripe{background: -webkit-repeating-linear-gradient(-45deg,#0077c2 0,#0077c2 5px,#0d7ec5 5px,#0d7ec5 10px);background: -o-repeating-linear-gradient(-45deg,#0077c2 0,#0077c2 5px,#0d7ec5 5px,#0d7ec5 10px);background: repeating-linear-gradient(-45deg,#0077c2 0,#0077c2 5px,#0d7ec5 5px,#0d7ec5 10px);background: -webkit-repeating-linear-gradient(-45deg,#0077c2 0,#0077c2 5px,#0d7ec5 5px,#0d7ec5 10px);background: -o-repeating-linear-gradient(-45deg,#0077c2 0,#0077c2 5px,#0d7ec5 5px,#0d7ec5 10px);background: repeating-linear-gradient(-45deg,#0077c2 0,#0077c2 5px,#0d7ec5 5px,#0d7ec5 10px);}

.img_contents{background: #ebf7ff;padding: 40px;border-radius: 0 0 10px 10px;margin: 0 0 30px 0;}
.img_mvv{max-width: 646px;margin: 0 auto;}
@media screen and (max-width: 640px) {
.img_contents {margin: 0 0 20px 0;padding: 20px;}
.policy_contents .ttl_content_top {font-size: 19px;border-radius: 10px 10px 0 0;padding: 10px 0;}
}
/*-----------------------------------------------
 *	Pillar
-----------------------------------------------*/
.policy_contents .pillar_ttl{font-size: 28px;line-height: 1.4;}
.policy_contents .pillar_ttl span{font-size: 38px;}
@media screen and (max-width: 640px) {
.policy_contents .pillar_ttl {font-size: 20px;}
.policy_contents .pillar_ttl span {font-size: 28px;}
}
/*-----------------------------------------------
 *	Number List
-----------------------------------------------*/
ol.num_list{counter-reset:list;list-style-type:none; display: table;border-collapse: separate;width: 100%;
  border-spacing: 0 10px;}
ol.num_list li{background: #fff;border-radius:10px;margin: 0 0 20px 0;font-weight: bold;font-size:24px;padding: 10px 0;display: table-row;counter-increment: table-ol;}
ol.num_list li:last-child{margin: 0;}
ol.num_list li span{margin-left: 1em;display: block;}

ol.num_list li:before{counter-increment: list;content: counter(list);display: table-cell;font-size: 32px;color: #fff;background: #4c99d4;padding: 13px 25px;text-align: center;}
@media screen and (max-width: 1024px) {
ol.num_list li{font-size:24px;}
}
@media screen and (max-width: 960px) {
ol.num_list li{font-size:21px;}
ol.num_list li:before {font-size: 24px;padding: 13px 20px;}
}
@media screen and (max-width: 640px) {
ol.num_list li {font-size: 18px;}
ol.num_list li span {margin-left: .75em;line-height: 1.4;padding: 6px 0 0;font-size: 16px;}
ol.num_list li:before {vertical-align: middle;}
}
/*-----------------------------------------------
 *	Normal List
-----------------------------------------------*/
.list_box{background: #fff;border: var(--site-primary) 2px solid;padding: 20px;margin: 0 0 30px 0;}
.list_box li{padding: 0 0 0 1em;position: relative;}
.list_box li:before {content:  "";width: 7px;height: 7px;display: inline-block;background-color: var(--site-primary);border-radius: 50%;margin-right: 10px;position: absolute;left: 0;top: 50%;transform: translateY(-50%);}
.list_box li em{font-weight: normal;color: #333;}
.list_box li strong{color: #0d7ec5;}
.list_box li:not(:last-child){margin-bottom: 10px;}
@media screen and (max-width: 640px) {
.list_box {padding: 15px;margin: 0 0 10px 0;}
.list_box li{font-size: 15px;}
}
/*-----------------------------------------------
 *	Head List
-----------------------------------------------*/
.head_box{position: relative;margin: 40px 0 30px 0;padding: 30px 20px 20px 20px;}
.head_box li strong{color: #ee8190;font-weight: bold;}
.head_box .box-title {position: absolute;display: inline-block;top: -20px;left: 15px;padding: .5em 1em;line-height: 1;background: var(--site-primary);color: #fff;font-weight: bold;}
@media screen and (max-width: 640px) {
.head_box {padding: 25px 15px 15px;}
.two_lines{padding: 45px 15px 15px;}
.two_lines .box-title{line-height: 1.4;}
}
/*-----------------------------------------------
 *	Band List
-----------------------------------------------*/
.band_box{margin: 40px 0 30px 0;padding: 0;}
.band_box ul{padding: 20px;}
.band_box .band-title {display: block;padding: .75em 1em;line-height: 1;background: var(--site-primary);color: #fff;font-size: 22px;font-weight: bold;text-align: center;}
@media screen and (max-width: 640px) {
.band_box {margin: 20px 0;}
.band_box .band-title {font-size: 20px;line-height: 1.6;}
}
/*-----------------------------------------------
 *	Circle List
-----------------------------------------------*/
.circle_list{border: var(--site-primary) 2px solid;counter-reset: list-counter;float:left;padding: 20px;margin: 0 0 30px 0;width: 100%;}
.circle_list li{margin: .5em 0;}
.circle_list li:before{content: counter(list-counter);counter-increment: list-counter;width: 1em;height: 1em;line-height: 1;padding: .5em;margin-right: 1em;border-radius: 50%;background: var(--site-primary);color: #fff;font-size: 18px;font-weight: bold;text-align: center;display: inline-block;}
@media screen and (max-width: 640px) {
.circle_list {padding: 10px 15px;margin: 0 0 20px 0;}
.circle_list li:before {font-size: 16px;}
}
/*-----------------------------------------------
 *	Step Flow
-----------------------------------------------*/
.step_wrap {border: var(--site-primary) 2px solid;counter-reset: count;margin: 2em 0;padding: 30px;position: relative;}
.step_content {padding: 1.3em 0 .3em 1em;margin: 0 0 1em 1em;position: relative;border-top: solid 2px #ddd;}
.step_content::before {content: "";display: block;position: absolute;bottom: 0;left: -10px; border-style: solid;border-width: 17px 8px 0 8px;border-color: #ddd transparent transparent transparent;}
.step_content::after {content: "";display: block; height: calc(100% - 36px);border-left: dashed 4px #ddd;position: absolute;top: 16px;left: -4px;}
.step_label {padding: 3px 20px 3px 15px; color: #fff;font-weight: bold;position: absolute; top: -18px;left: -20px;background: var(--site-primary);border-radius: 20px;z-index: 1;}
.step_label::after {counter-increment: count;content: counter(count);position: relative; left: .3em;}
.step_title {font-weight: bold;font-size: 20px;}
.step_body {margin-top: .5em;padding: 0 0 1em;}
.step_wrap > :last-child {margin: 0 0 0 1em;}
.step_wrap .step_content:last-of-type .step_body{padding: 0;}
.step_wrap > :last-child::before, .step_wrap > :last-of-type::after {display: none;}
@media screen and (max-width: 640px) {
.step_wrap {padding: 30px 30px 30px 20px;}
.step_title {font-size: 16px;}
}
/*-----------------------------------------------
 *	引用
-----------------------------------------------*/
blockquote {position: relative;padding: 30px;box-sizing: border-box;font-style: italic;color: #4e4e4e;background: #f5f5f5;margin: 30px 0 0 0;}
blockquote:before{display: inline-block;position: absolute;top: 10px;left: 10px;content: "";background: url(../img/column-policy/bg_quote_left.png) left top no-repeat;width: 80px;height: 60px;}
blockquote:after{display: inline-block;position: absolute;bottom: 10px;right: 10px;content: "";background: url(../img/column-policy/bg_quote_right.png) right bottom no-repeat;width: 80px;height: 60px;}
blockquote p.name{font-size: 20px;margin: 0 0 10px 0;border-bottom: #ccc 1px solid;padding: 0 0 10px 0;}
blockquote p {position: relative;padding: 0;margin: 10px 0;z-index: 3;line-height: 1.7;}
blockquote cite {color: #999;position: relative;z-index: 10;}
@media screen and (max-width: 640px) {
blockquote {padding: 20px;}
blockquote p.name {font-size: 18px;}
}
/*-----------------------------------------------
 *	Table
-----------------------------------------------*/
table.tbl-case {margin: 20px auto 10px;width: 100%;}
table.tbl-case caption{background: #0077c2;color: #fff;font-size: 20px;text-align: left;padding: 15px 1em;margin: 0 auto;width: 100%;}
table.tbl-case caption span {color: #0077c2;padding: 5px 1em;line-height: 1;border-radius: 6px;background: #fff;font-weight: bold;margin: 0 1em 0 0;}
table.tbl-case th {background: #6598b9;border: solid 1px #ccc;color: #fff;font-size: 20px;font-weight: bold;padding: 15px 0 15px 2em;}
table.tbl-case td {border: solid 1px #ccc;font-size: 20px;padding: 15px 0 15px 2em;}
table.tbl-case td.price {color: #da6272;}
table.tbl-case td .tax{font-size: 14px;}
@media only screen and (max-width: 960px) {
table.tbl-case caption{font-size: 18px;}
table.tbl-case th,table.tbl-case td {font-size: 17px;}
}
@media screen and (max-width: 640px) {
table.tbl-case .last td:last-child {border-bottom: solid 1px #ccc;width: 100%;}
table.tbl-case {margin: 30px auto 10px;width: 100%;}
table.tbl-case th,table.tbl-case td {border-bottom: none;display: block;width: 100%;text-align: center;padding: 15px 0;}
}

