@charset "utf-8";

/*-----------------------------------------------
 *	見出し
-----------------------------------------------*/
.sub-main .inner h1::before {background: url(../img/privacy/sub-main-icon.png) no-repeat;background-size: contain;}
@media only screen and (max-width: 568px) {
.sub-main .inner h1 {font-size: 23px;}
}
/*-----------------------------------------------
 *	Heading settings
-----------------------------------------------*/
.policy_wrapper {letter-spacing: 0.05em;}
.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: #0077c2;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: #ee8190;font-weight: bold;}
.policy_wrapper li strong {color: #ee8190;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) {
.policy_wrapper .content_ttl {font-size: 21px;}
.policy_wrapper {width: 100%;padding: 0;margin-top: 0;}
.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: 18px;line-height: 1.4;border-bottom: 2px solid #dde5e7;margin: 0 0 14px;padding: 0 0 2% 16px;}
.policy_wrapper h3::before {height: 82%;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: 20px 0;line-height: 1.6;border-radius: 10px 10px 0 0;}
.policy_contents .bg_stripe{background: var(--site-primary);}

.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;}
}
/*-----------------------------------------------
 *	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:28px;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;font-size: 24px;}

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:26px;}
}
@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;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 20px 0;}
.list_box li{font-size: 15px;}
}







