@charset "UTF-8";

.header_title h1::before{color: #fff;font-size: 3.75rem;width: 100%;text-align: center;line-height: 1.7;font-weight: bold;font-family: 'Shippori Mincho', serif;position: relative;opacity: 0.3;display: block;}
.l_breadcrumb ul{text-align: left;max-width: 1080px;margin: 0 auto;font-size: 0.8125rem;display: flex;height: 40px;align-items: center;}

.l_column_main table{width: 100%;border-top: 1px solid #CCC;border-right: 1px solid #CCC;}
th,td{border-bottom: 1px solid #CCC;padding: 13px 10px 12px 20px;border-left: 1px solid #CCC;}
td{background: #FFF;}
.contents_company .cont th{background: rgb(255 249 240 /1);mix-blend-mode: multiply;text-align: center;height: 40px;}
.cont_safety .cont th{background: rgb(255 249 240 /1);text-align: center;height: 40px;}
.cont_safety .cont td{text-align: center;}

.cont_community,.cont_privacy,.contents_safety{font-size: 0.9375rem;line-height: 1.7;}
.cont_motto .wrapper,.contents_community .wrapper,.contents_privacy .wrapper,.contents_safety .wrapper{max-width: 1080px;}
.contents_motto .wrapper,.cont_privacy .wrapper{padding-top: 75px;}
.contents_safety .wrapper,.cont_community .wrapper{padding-top: 70px;}

/*company*/
.contents_company{padding-bottom: 60px;}
.contents_company h1::before{content: "COMPANY";}
.contents_company h2 {font-size: 1.5625rem;font-family: 'Shippori Mincho', serif;margin-bottom: 15px;font-weight: 500;}
.contents_company section:nth-of-type(odd){background: #FFF9F0;}
.contents_company section .wrapper{max-width: 1080px;}
.contents_company section:not(.company_data) .wrapper{padding: 50px 0;}

.company_data .wrapper{padding-bottom: 50px;}
.company_data .date{text-align: right;padding-bottom: 40px;font-size: 0.9375rem;}
.contents_company .company_data th{vertical-align: top;text-align: right;max-width: 200px;width: 20%;}
.contents_company .company_data td{max-width: calc(100% - 200px);width: 80%;}
.contents_company .company_data td ul{list-style: disc;padding-left: 20px;font-size: 1rem;}
.contents_company .company_data td dl div{display: flex;padding-bottom: 10px;padding-top: 10px;}
.contents_company .company_data td dl div:not(:first-of-type){border-top: 1px dotted #CCC;}


.contents_company .company_callcenter .tel{width: 30%;max-width: 300px;text-align: center;}
.company_callcenter .note{font-size: 0.9375rem;font-weight: 500;padding: 30px 0 20px;}
.company_office td{text-align: center;}
.company_office table .address{text-align: left;}
.company_headquarters table .tel{text-align: center;width: 50%;}

.contents_company table td dt{width: 30%;max-width: 160px;}
.contents_company table td dd{padding-left: 20px;}
.company_callcenter td br{display: none;}

.cont_map{position: relative;padding-top: 41.667%;width: 100%;height: 0;overflow: hidden;}
.cont_map iframe{position: absolute;top: 0;left: 0;width: 100%;height: 100%;}

/*motto*/ 
.contents_motto h1::before{content: "MANAGEMENT POLICY";font-size: 3.5rem;}
.cont_motto .wrapper{padding-top: 75px;padding-bottom: 100px;font-family: 'Shippori Mincho', serif;}
.cont_motto h2{font-size: 36px;text-align:center;margin-bottom: 30px;padding-bottom:30px;font-weight: 500;position:relative;}
.cont_motto h2::after{content:"";display:block;width:100px;height:1px;background-color:#333;position:absolute;bottom:0;left:50%;margin-left:-50px;} 
.cont_motto h3{font-size: 32px;margin-bottom: 40px;font-weight: 600;}
.cont_motto ul{margin-bottom: 30px;}
.cont_motto ul > li{padding: 60px 0;display: flex;flex-direction: column;align-items: center;line-height:2;}
.cont_motto ul li p{text-align: center;}
.cont_motto ul li ol{list-style: decimal;padding-left: 20px;}
.cont_motto ul li ol li{padding: 5px 0;}
.cont_motto span.end{display: block;text-align: right;}

.cont_motto ul li p.policy{font-size:32px;}
.cont_motto ul li p.philosophy{font-size:22px;}
.cont_motto ul li ol li{font-size:18px;}

/*community*/
.contents_community h1::before{content: "COMMUNITY GUIDELINE";font-size: 3.5rem;}
.contents_community .header_title h1{font-size: 2.0625rem;}
.contents_community .header_title h1 br{display: none;}
.contents_community .wrapper{padding-bottom: 40px;}
.cont_community .area_first,.cont_community ul li{padding-bottom: 30px;}
.cont_community ul li ol li,.cont_privacy div > ol li,.personal_information ol li{padding-bottom: 15px;}
.cont_community h2{font-weight: bold;font-size: 1.25rem;margin-bottom: 10px;}
.cont_community h2::before{content: "【";margin-left: -12px;}
.cont_community h2::after{content: "】";}
.cont_community ul li ol,.cont_privacy div.area1 ol{list-style: decimal;padding-left: 20px;line-height: 1.5;margin-top: 10px;}
.cont_community a{text-decoration: underline;color: #006888;}

/**/
.contents_privacy h1::before{content: "PRIVACY POLICY";}
.contents_privacy h2{font-size: 1.5625rem;font-family: 'Shippori Mincho', serif;margin-bottom: 15px;font-weight: 500;}
.cont_privacy .wrapper > div{padding-bottom: 40px;}
.contents_privacy .date{display: block;text-align: right;margin-top: 20px;}

.cont_privacy .wrapper > div.area2{padding-bottom: 50px;}
.cont_privacy .area2 h3{font-family: 'Shippori Mincho', serif;font-size: 1.375rem;font-weight: bold;margin-bottom: 10px;}
.cont_privacy .area2 .title{font-size: 1rem;font-weight: bold;}
.cont_privacy .area3 h3,.cont_privacy .area3 > ol >li::marker{font-size: 1.25rem;font-weight: 500;}
.cont_privacy .area3 > ol{list-style: upper-roman;padding-left: 40px;}
.cont_privacy .area3 > ol > li > ol,.personal_information ol{list-style: decimal;margin-top: 10px;padding-left: 20px;}
.cont_privacy .area3 > ol > li > ol li ol{list-style: none;padding-left: 20px;}
.cont_privacy .area3 > ol > li > ol li ol li{padding-bottom: 0;}
.cont_privacy .area3 > ol > li > ol > li > ol > li::marker{content: "(" counter(list-item) ") ";}
.cont_privacy .area3 > ol > li > ol > li > ol > li > ol > li::before{margin-left: -20px;margin-right: 5px;}
.cont_privacy .area3 > ol > li > ol > li > ol > li > ol > li:nth-child(1)::before{content: "①";}
.cont_privacy .area3 > ol > li > ol > li > ol > li > ol > li:nth-child(2)::before{content: "②";}
.cont_privacy .area3 > ol > li > ol > li > ol > li > ol > li:nth-child(3)::before{content: "③";}
.cont_privacy .area3 > ol > li > ol > li > ol > li > ol > li:nth-child(4)::before{content: "④";}
.cont_privacy .area3 > ol > li > ol > li > ol > li > ol > li:nth-child(5)::before{content: "⑤";}
.cont_privacy .area3 > ol > li > ol > li > ol > li > ol > li:nth-child(6)::before{content: "⑥";}
.cont_privacy .area3 > ol > li > ol > li > ol > li > ol > li:nth-child(7)::before{content: "⑦";}

.cont_privacy .area3 > ol > li > ol > li > ol > li > ol > li > ol {list-style: lower-alpha;}
.cont_privacy .area3 > ol > li > ol > li > ol > li > ol > li > ol > li > ol {list-style: katakana;padding-left: 30px;}
.cont_privacy .area3 > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ul {list-style-type: "・";}
.cont_privacy .area3 > ol li:nth-of-type(3) ol li ul li {padding-bottom: 0;}
.cont_privacy .area3 > ol li:nth-of-type(3) ol li{padding-bottom: 5px;}
.personal_information .wrapper{padding-bottom: 100px;}

.cont_privacy .contact .title{display: block;margin: 5px 0;}
.cont_privacy .contact ul li{display: flex;padding-bottom: 0;}
.cont_privacy .contact ul li .name::after{content: "：";}
.cont_privacy .note{display: block;font-size: 14px;line-height: 1.5;}


/**/
.contents_safety h1::before{content: "SAFETY MANAGEMENT";font-size: 3.5rem;}
.contents_safety .wrapper{padding-bottom: 60px;}
.contents_safety .area_first{padding-bottom: 30px;}
.contents_safety h2 {font-size: 1.5625rem;font-family: 'Shippori Mincho', serif;margin-bottom: 15px;font-weight: 500;position: relative;}

.cont_safety .cont .notice{display: block;text-align: center;padding: 20px 0;}
.cont_safety .cont > ol{list-style: none;counter-reset: num;}
.cont_safety .cont > ol >li{counter-increment: num;padding-bottom: 40px;}
.cont_safety .cont > ol >li h2::before{font-size: 1.5625rem;font-family: 'Shippori Mincho', serif;content: counter(num)". ";}
.cont_safety .cont > ol >li:first-of-type ol{list-style: decimal;padding-left: 20px;padding-bottom: 20px;}
.cont_safety ol li a{text-decoration: underline;color: #006888;}

.cont_safety .cont > ol >li:nth-of-type(2) h3{margin-bottom: 10px;}
.cont_safety .cont > ol >li:nth-of-type(2) h4{font-weight: bold;}
.cont_safety .cont > ol >li:nth-of-type(2) ol{counter-reset: num2;}
.cont_safety .cont > ol >li:nth-of-type(2) ol > li{counter-increment: num2;}
.cont_safety .cont > ol >li:nth-of-type(2) ol > li h3::before{ content: "(" counter(num2) ") ";}

.cont_safety .cont > ol >li ul{list-style: disc;padding-left: 20px;margin-bottom: 10px;}
.cont_safety .cont > ol >li ul:nth-of-type(2){list-style: "〇";}
.cont_safety .cont > ol >li > ul li{padding-bottom: 10px;line-height: 1.5;}
.cont_safety .cont > ol >li ul li span{display: inline-block;margin-top: 5px;}

.cont_safety table{margin-top: 5px;}
.cont_safety table caption{margin-bottom: 5px;font-weight: bold;}
.cont_safety .cont > ol >li:nth-of-type(2) ol li:first-of-type h4::before,.cont_safety table caption::before{content: "【";margin-left: -8px;}
.cont_safety .cont > ol >li:nth-of-type(2) ol li:first-of-type h4::after,.cont_safety table caption::after{content: "】";}
.cont_safety table.table02 caption,.cont_safety table.table03 caption{font-weight: normal;}
.cont_safety table.table02 caption::before,.cont_safety table.table03 caption::before,
.cont_safety .cont > ol >li:nth-of-type(2) ol > li h5::before{content: "〇";margin-left: 0;}
.cont_safety table.table02 caption::after,.cont_safety table.table03 caption::after{content: none;}

.cont_safety table th{width: 25%;}
.table01 tfoot th,.table01 tfoot td{border-top: 3px double #CCC;}
.cont_safety table.table02,.cont_safety table.table03{margin-bottom: 20px;}
.cont_safety table.table03 th{width: 20%;}
.cont_safety table.table03 .evaluation{border-left: 3px double #CCC;}


@media screen and (max-width:1120px) {
    .l_breadcrumb ul{padding-right: 20px;padding-left: 20px;}
}

@media screen and (max-width:820px) {
    .contents_safety::before,.contents_community h1::before,.contents_motto h1::before{font-size: 3.125rem;}
    .header_title h1::before{font-size: 2.125rem;}
}

@media screen and (max-width:767px) {

    .l_breadcrumb ul{font-size: 0.75rem;}
    .contents_motto .wrapper, .cont_privacy .wrapper,
    .contents_safety .wrapper, .cont_community .wrapper{padding-top: 35px;font-size: 0.8125rem;}
    .personal_information .wrapper{font-size: 0.8125rem;}

      

/**/
    .contents_company{padding-bottom: 20px;}
    .company_data .date{padding-bottom: 20px;font-size: 0.75rem;}
    .contents_company h2{font-size: 1.25rem;margin-bottom: 10px;}
    .contents_company .company_data th,.contents_company .company_data td{padding: 10px;display: block;font-size: 14px;width: 100%;max-width: none;}
    .contents_company .company_data td ul{font-size: 0.875rem;}
    .contents_company .company_data th{text-align: left;}
    .contents_company table td dt{width: 110px;}
    .contents_company table td dd{padding-left: 10px;max-width: calc(100% - 120px);}

    .contents_company table dl.history div{flex-direction: column;}
    .contents_company table dl.history dd{padding: 0;max-width: 100%;}

    .contents_company section:not(.company_data) .wrapper{padding: 25px 20px 30px;}
    .company_office thead{display: none;}
    .company_office td{padding: 10px;display: block;width: 100%;text-align: left;font-size: 0.9375rem;}
    .company_office td:first-of-type{background: rgb(255 249 240 / 1);}

    .company_headquarters table th,.company_headquarters table td{padding: 10px;font-size: 0.9375rem;}

    .company_office table .address{font-size: 0.875rem;border-bottom: none;padding-bottom: 0;}
    .company_office td.tel::before{content: "電話番号：";}
    .company_callcenter th,.company_callcenter td{padding: 10px;text-align: left;font-size: 0.9375rem;}
    .contents_company .company_callcenter td.tel{width: 130px;}

    .company_callcenter th{font-size: 0.875rem;}

    .company_callcenter td:first-of-type{min-width: 100px;}
    .cont_map{padding-top: 75%;}

/**/
    .contents_motto h1::before{font-size: 1.6875rem;}
    .cont_motto .wrapper{padding-bottom: 50px;}
    .cont_motto h2{font-size: 1.5rem;letter-spacing: -0.01rem;margin-bottom: 20px;padding-bottom: 20px;}
    .cont_motto h3{font-size: 1.4375rem;margin-bottom: 20px;}
    .cont_motto ul li p.policy{ font-size: 1.375rem;}
    .cont_motto ul > li{padding: 30px 0;}
    .cont_motto ul li p.philosophy{font-size: 1.125rem;line-height: 1.7;text-align: left;}
    .cont_motto ul li ol li{font-size: 1rem;line-height: 1.5;}
/**/
    .contents_safety h1::before{font-size: 1.6875rem;}    
    .contents_safety .wrapper{padding-bottom: 30px;}
    .contents_safety .area_first,.cont_safety .cont > ol >li{padding-bottom: 20px;}
    .cont_safety .cont > ol >li h2{position: relative;padding-left: 25px;}
    .cont_safety .cont > ol >li h2::before{font-size: 1.25rem;position: absolute;left: 0;top: 0;}
    .cont_safety .cont table th{line-height: 1.3;font-size: 0.8125rem;}
    .cont_safety .cont table td{font-size: 0.875rem;}
    .cont_safety .cont table th,.cont_safety .cont table td{padding: 10px 10px 9px;}
    .cont_safety table.table02 caption, .cont_safety table.table03 caption{font-size: 0.9375rem;line-height: 1.3;}
/**/
    .personal_information .wrapper{padding-bottom: 50px;}
    .contents_privacy h2,.contents_safety h2{font-size: 1.25rem;margin-bottom: 10px;line-height: 1.3;}
    .cont_privacy .area2 .title{font-size: 0.9375rem;}
    .cont_privacy .area3 > ol{padding-left: 0;list-style-position: inside;}
    .cont_privacy .area3 > ol > li > ol li ol{padding-left: 0;}
    .cont_privacy .area3 h3{font-size: 1.0625rem;display: inline-block;}

    .contents_community .header_title h1{font-size: 1.25rem;text-align: center;}
    .contents_community .header_title h1 br{display: block;}
    .cont_community .area_first, .cont_community ul li{padding-bottom: 20px;}
    .cont_community h2{font-size: 1rem;margin-bottom: 5px;}
    .cont_community ul.sns_list{flex-direction: column;}

}

@media screen and (max-width: 500px) {
    .contents_safety h1::before,.contents_motto h1::before,.contents_community h1::before{font-size: 1.625rem;}
    .contents_privacy h1::before{font-size: 2rem;}
    .company_callcenter td br{display: block;}
}

@media screen and (min-width:768px) and (max-width:1080px) {

}

@media screen and (min-width:1081px) {

}