@charset "utf-8";

/* CSS Document */
#main section { width:100%; margin: 0 auto 80px; padding:90px 10% 80px 10%; background:#FFF; border-radius:20px;}
#main section:after { content:" "; display:block; clear:both;}
#main section h3{ position: relative; display: inline-block; margin-bottom: 1.5em; font-size: 35px; font-weight: bold;}
#main section h3:before { content: ''; position: absolute; bottom: -10px; display: inline-block; width:420px; height:5px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: #5798CB;}

@media screen and (max-width:959px){
    #main section { margin: 0 auto 40px; padding:45px 10% 40px 10%;}
}

@media screen and (max-width:640px){
    #main section { margin: 0 auto 30px; padding:35px 5% 30px 5%;}
    #main section h3{ font-size:23px;}
    #main section h3:before { width:200px;}
}

#main section.bg-bl { background:#DDEAF5; }
#main section.bg-bl2 { background:#A8DBF4; }

ul.list-disc { list-style-type: disc; margin: 0 0 1.7em 1em; padding: 0; }
ul.list-disc li { text-align: left; padding:0; }
ul.list-disc li::marker{ color: #005FAA; font-size: 120%;}

ol.list-num { margin-bottom:15px; list-style-type: none; counter-reset: li;}
ol.list-num li { position: relative; margin-left: 1.7em; padding:0; margin-bottom: 0.25em; text-align: left;}
ol.list-num li::before { position: absolute; top: 1px; left:-2.4em; display:inline-block; min-width: 1.7em; border-radius: 50%; background-color: #333; color: #fff; font-weight: bold; font-size: .75em; line-height: 1.7em; text-align: center; content: counter(li); counter-increment: li;}

table.table1 { width: 100%; margin-bottom: 10px; text-align:left; border-collapse:collapse; border-spacing:0;}
table.table1 th { background:#F4F4F4;}
table.table1 td { background:#FFF;}
table.table1 th,
table.table1 td { padding:12px 13px 10px 13px; text-align:left; vertical-align:middle; border: solid 1px #AAA;}
table.table1 thead th { padding:11px 10px; font-size:17px; font-weight:bold; background:#6D6D6D; text-align: center; color: #fff;}

@media only screen and (max-width: 640px) { 
    table.table1 th,
    table.table1 td { font-size:93.75%;}
	table.table1.sp { margin:0; border-bottom: solid 1px #AAA; }
	table.table1.sp tr { display:block; width:100%; border-bottom: solid 1px #AAA; }
    table.table1.sp th { border-bottom:none; background:#EEE;}
    table.table1.sp td { border-bottom:none;}
	table.table1.sp th,
	table.table1.sp td { display:block; width:100%; }
    table.table1.sp thead {display: none;}
}

.table2 { width: 100%; margin-bottom: 10px; text-align: center; border-collapse:collapse; border-spacing:0; border:solid 1px #999;}
.table2 th { background:#F4F4F4; border:solid 1px #999; border-bottom:solid 1px #CCC; text-align:center;}
.table2 td { border-left:dotted 1px #999; text-align:center;}
.table2 th,
.table2 td { padding:12px 13px 10px 13px; vertical-align: middle;}
.table2 tr { border-top: solid 1px #CCC;}
.table2 thead th { padding:11px 10px; font-size:17px; font-weight:bold; background:#6D6D6D; text-align: center; color: #fff;}

.table3 { width:100%; margin-bottom: 10px; text-align: center; border-collapse: collapse; background: #FFF; border-spacing: 0; border: solid 1px #DDD;}
.table3 th { background:#E9E9E9; border-right: solid 1px #FFF; text-align:center;}
.table3 td { text-align: left;}
.table3 th,
.table3 td { padding:12px 10px 10px 10px; text-align:center; vertical-align: middle;}
.table3 tr { border-top:;}
.table3 tr:nth-child(2n+1) { background:#F4F4F4;}
.table3 thead th { padding:11px 10px; font-size:17px; font-weight:bold; background:#6D6D6D; text-align: center; color: #fff;}


/* 建設連合静岡県建設組合
======================================================================== */
#kokumin-about .catch { margin-bottom:80px; text-align: center;}
#kokumin-about .catch .catch-copy {margin: 0 auto 0.75em auto; font-size:41px; font-weight: bold; color: #005FAA; text-align: center;}
#kokumin-about .catch p { font-size:17px; text-align: center; line-height: 1.75;}
#kokumin-about .catch p strong { font-size:19px;}

@media only screen and (max-width:959px) {
    #kokumin-about .catch .catch-copy { font-size:27px;}
}

@media only screen and (max-width:640px) {
    #kokumin-about .catch .catch-copy { font-size:23px;}
}

#kokumin-about .flex { align-items: center;}
#kokumin-about .txt { width: 50%;}
#kokumin-about .txt p {text-align: left;}
#kokumin-about .photo { width:48%;}

@media only screen and (max-width:959px) {
    #kokumin-about .txt { width: 100%;}
    #kokumin-about .photo { width: 100%;}
}

#kokumin-merit dl{ text-align: left;}
#kokumin-merit dl dt {font-size: 19px;}
#kokumin-merit dl dd {}
#kokumin-merit p{text-align: left;}
#kokumin-merit .s-tit { width: 45%; text-align: left;}
#kokumin-merit .s-tit p { display: inline-block; color: #FFF; font-size:25px; font-weight: bold; margin: 0; padding:8px 50px 8px 10px; background: #005FAA; }
#kokumin-merit .s-tit strong { font-size: 115%;}
#kokumin-merit .s-tit h3 { width: 100%; margin: 0; padding:0; color: #005FAA; font-size: 35px; font-weight: bold; text-align: left; position: relative; display: inline-block;}
#kokumin-merit .s-tit h3 strong { font-size: 131%;}
#kokumin-merit .s-tit h3:after{ content: ''; position: absolute; top: 50%; right:0; display: inline-block; width:calc(100% - 11.3em); height:5px; background-color:#005FAA;}
#kokumin-merit .s-tit h3:before {content:none;}

#kokumin-merit ul { width: 50%; margin-bottom: 50px;}
#kokumin-merit li { position: relative; display: block; list-style: none; text-align: left; margin-bottom:20px; padding: 0 0 0 70px;}
#kokumin-merit li:before { position: absolute; top:-5px; left: 10px; font-family: "Font Awesome 6 Free"; content: "\f00c"; font-size: 50px; font-weight: 900; color:#FFD900;}
#kokumin-merit li h4{ clear: both; padding: 1px; margin: 0 auto 0.3em auto; font-size: 27px; font-weight: bold; font-size: 27px; font-weight: bold; }
#kokumin-merit li p { }

@media only screen and (max-width:1200px) {
    #kokumin-merit .s-tit { width: 100%; margin-bottom: 20px; } 
    #kokumin-merit ul { width: 100%;}
}

@media only screen and (min-width:960px) {
    #kokumin-merit li h4{ display: inline-block; background: linear-gradient(transparent 50%, #FFE600 50%);}
}

@media only screen and (max-width:959px) {
    #kokumin-merit { padding:40px 5%;}
    #kokumin-merit .s-tit p { font-size:19px; }
    #kokumin-merit .s-tit h3 { }
    #kokumin-merit li { margin-bottom: 20px; padding: 0 0 0 40px;}
    #kokumin-merit li:before { font-size: 25px; }
    #kokumin-merit li h4 { font-size: 21px; text-decoration:underline; text-decoration-color:#FFE600; text-decoration-thickness:5px; }
    #kokumin-merit li h4 strong{ font-size: 21px; }
}

#kokumin-merit .box { margin-bottom: 30px;}
#kokumin-merit .box h4 { width: 100%; font-size: 25px; font-weight: bold; position: relative; padding:0; margin-bottom: 1.2em; border-bottom: 3px solid #005FAA; text-align: left;}

@media only screen and (max-width:640px) {
    #kokumin-merit .box h4 { font-size: 21px;}
}

#kokumin-join {}
#kokumin-join h4 { width: 100%; font-size: 25px; font-weight: bold; position: relative; padding:0; margin: 1.2em 0; border-bottom: 3px solid #005FAA; text-align: left;}
#kokumin-join p { text-align: left;}
#kokumin-join #type ul { margin-bottom: 20px; justify-content:flex-start; align-items:stretch; border-top: solid 1px #AAA; border-left: solid 1px #AAA;}
#kokumin-join #type ul li { width:16.6%; margin:0; padding:13px 2px; border-bottom: solid 1px #AAA; border-right: solid 1px #AAA; background: #F4F4F4; display: flex; align-items: center; justify-content: center; line-height: 1.2;}

@media only screen and (max-width:1260px) {
    #kokumin-join #type ul li { width:25%; }
}

@media only screen and (max-width:959px) {
    #kokumin-join #type ul li { width:50%; }
}

@media only screen and (max-width:640px) {
    #kokumin-join h4 { font-size: 21px; }
}

#kokumin-sim {}

#kokumin-flow { }
#kokumin-flow .flow-list { max-width:960px; margin: 0 auto 50px auto;}
#kokumin-flow .flow-list ul li { position: relative; width: 90%; max-width: 1400px; margin: 10px auto 30px auto; padding: 30px 60px; background-color:#fff;}
#kokumin-flow .flow-list ul li .num { position: absolute; top: -10px; left: -10px; width:50px; height:50px; padding: 0; font-size: 25px; font-weight: bold; color: #fff; background-color:#3071B9; border-radius: 50%; line-height:50px;}
#kokumin-flow .flow-list ul li h4 { margin-bottom:0.5em; font-size: 21px; font-weight: bold; color: #005FAA; text-align: left;}
#kokumin-flow .flow-list ul li h4 strong { font-size: 127.78%; }
#kokumin-flow .flow-list ul li p { margin-bottom: 0; text-align: left; }

@media only screen and (max-width:959px) {
    #kokumin-flow .flow-list ul li { padding: 30px 40px; width:100%;}
    #kokumin-flow .flow-list ul li h4 { font-size: 17px;}
}

#kokumin-flow .flow-need h4 { width: 100%; font-size: 25px; font-weight: bold; position: relative; padding:0; margin: 1.2em 0; border-bottom: 3px solid #005FAA; text-align: left;}

@media only screen and (max-width:640px) {
    #kokumin-flow .flow-need h4 { font-size: 21px; }
}

#kokumin-premium { }
#kokumin-premium h4 { width: 100%; font-size: 25px; font-weight: bold; position: relative; padding:0; margin: 1.2em 0; border-bottom: 3px solid #005FAA; text-align: left;}
#kokumin-premium p { text-align: left;}
#kokumin-premium .item { width:48%; margin-bottom: 30px;}
#kokumin-premium .item table { width:100%;}
#kokumin-premium .item table th { text-align:center;}

@media only screen and (max-width:959px) {
    #kokumin-premium .item { width:100%;}
}

@media only screen and (max-width:640px) {
    #kokumin-premium h4{ font-size: 21px;}
}

/* 一人親方労災保険
======================================================================== */
#rousai-about .catch { margin-bottom:80px; text-align: center;}
#rousai-about .catch .catch-copy {margin: 0 auto 0.75em auto; font-size:41px; font-weight: bold; color: #005FAA; text-align: center;}
#rousai-about .catch p { font-size:17px; text-align: center; line-height: 1.75;}
#rousai-about .catch p strong { font-size:19px;}

@media only screen and (max-width:959px) {
    #rousai-about .catch .catch-copy { font-size:27px;}
}

#rousai-about p {text-align: left;}
#rousai-about ul li {text-align: left;}
#rousai-about h4 { width: 100%; font-size: 25px; font-weight: bold; position: relative; padding:0; margin-bottom: 1.5em; }
#rousai-about h4:after{ content: ''; position: absolute; bottom: -17px; left:0; right:0; width:50px; margin: 0 auto; border-bottom: 8px dotted #FFD900; text-align: center;}
#rousai-about .flex { align-items: center;}
#rousai-about .txt { width: 50%;}
#rousai-about .photo { width: 48%;}

@media only screen and (max-width:959px) {
    #rousai-about .txt { width:100%;}
    #rousai-about .photo { width:100%;}
}

@media only screen and (max-width:640px) {
    #rousai-about h4 {font-size:21px;}
}

#rousai-merit .s-tit { width:36%; text-align: left;}
#rousai-merit .s-tit p { display: inline-block; color: #FFF; font-size:25px; font-weight: bold; margin: 0; padding:8px 50px 8px 10px; background: #005FAA; }
#rousai-merit .s-tit strong { font-size: 115%;}
#rousai-merit .s-tit h3 { width: 100%; margin: 0; padding:0; color: #005FAA; font-size: 35px; font-weight: bold; text-align: left; position: relative; display: inline-block;}
#rousai-merit .s-tit h3 strong { font-size: 131%;}
#rousai-merit .s-tit h3:after{ content: ''; position: absolute; top: 50%; right:0; display: inline-block; width:calc(100% - 8.7em); height:5px; background-color:#005FAA;}
#rousai-merit .s-tit h3:before {content:none;}

@media only screen and (max-width:959px) {
    #rousai-merit .s-tit p {padding:5px 50px 5px 10px;}
    #rousai-merit .s-tit h3 {font-size:23px;}
}

#rousai-merit p{text-align: left;}
#rousai-merit ul { width:61%; }
#rousai-merit li { position: relative; display: block; list-style: none; text-align: left; margin-bottom:20px; padding: 0 0 0 70px;}
#rousai-merit li:before { position: absolute; top:-5px; left: 10px; font-family: "Font Awesome 6 Free"; content: "\f00c"; font-size: 50px; font-weight: 900; color:#FFD900;}
#rousai-merit li h4{ clear: both; padding: 1px; margin: 0 auto 0.3em auto; font-size: 27px; font-weight: bold; }
#rousai-merit li p { }

@media only screen and (max-width:1200px) {
    #rousai-merit .s-tit { width: 100%; margin-bottom: 20px; } 
    #rousai-merit ul { width: 100%;}
}

@media only screen and (min-width:960px) {
    #rousai-merit li h4 { display: inline-block; background: linear-gradient(transparent 50%, #FFE600 50%);}
}

@media only screen and (max-width:959px) {
    #rousai-merit { padding:40px 5%;}
    #rousai-merit .s-tit p { font-size:19px; }
    #rousai-merit .s-tit h3 { }
    #rousai-merit li { margin-bottom: 20px; padding: 0 0 0 40px;}
    #rousai-merit li:before { font-size: 25px; }
    #rousai-merit li h4 { font-size: 21px; text-decoration:underline; text-decoration-color:#FFE600; text-decoration-thickness:5px; }
    #rousai-merit li h4 strong{ font-size: 21px; }
}

#rousai-benefit h4 { width: 100%; font-size: 25px; font-weight: bold; position: relative; padding:0; margin: 1.2em 0; border-bottom: 3px solid #005FAA; text-align: left;}
#rousai-benefit table {margin-bottom:20px;}
#rousai-benefit p {text-align: left;}

@media only screen and (max-width:640px) {
    #rousai-benefit h4  {font-size:21px;}
}

#rousai-case .flex { align-items:stretch; align-content:space-between;}
#rousai-case .case { position:relative; width: 48%; padding:60px 30px 20px 30px; background: #F2F2F2; border-radius:10px;}
#rousai-case .case .cat { position: absolute; top: 0; left: 0; padding: 5px 40px; font-size: 17px; font-weight: bold; color: #fff; background: #005FAA; border-radius:10px 0 10px 0;}
#rousai-case .case h4 { margin-bottom: 1.2em; padding-bottom:0.15em; font-size:21px; font-weight: bold; border-bottom:5px solid #005FAA; text-align: left;}
#rousai-case .case img { float: left; max-width:38%; }
#rousai-case .case .txt { width: 62%; float: right; text-align: left;}

@media only screen and (max-width:959px) {
    #rousai-case { margin: 0 auto; padding:30px;}
    #rousai-case .case { width:100%; margin-bottom: 20px; padding:60px 20px 40px 20px;}
    #rousai-case .case .cat { padding: 5px 30px; font-size: 15px;}
    #rousai-case .case h4 { font-size:19px; }
}

@media only screen and (max-width:640px) {
    #rousai-case .case img { width:auto; float: none; margin-bottom: 10px;}
    #rousai-case .case .txt { width:100%; float:none; }
}


#rousai-join {}
#rousai-join h4 { width: 100%; font-size: 25px; font-weight: bold; position: relative; padding:0; margin: 1.2em 0; border-bottom: 3px solid #005FAA; text-align: left;}
#rousai-join p { text-align: left;}
#rousai-join ul { list-style-type: disc; margin: 0 0 1.5em 1em; padding: 0; }
#rousai-join ul li { text-align: left; padding:0; }
#rousai-join ul li::marker{ color: #005FAA; font-size: 120%;}

#rousai-join ol { margin-bottom:15px; list-style-type: none; counter-reset: li;}
#rousai-join ol li { display: flex; align-items: center; padding:0 0 0.2em 0; text-align: left;}
#rousai-join ol li::before { display: inline-block; min-width: 1.7em; margin-right:8px; border-radius: 50%; background-color: #333; color: #fff; font-weight: bold; font-size: .75em; line-height: 1.7em; text-align: center; content: counter(li); counter-increment: li;}
#rousai-join p span { display: inline-block; min-width: 1.7em; margin-right:3px; border-radius: 50%; background-color: #333; color: #fff; font-weight: bold; font-size: .75em; line-height: 1.7em; text-align: center;}

@media only screen and (max-width:1260px) {
    
}

#rousai-premium { }
#rousai-premium h4 { width: 100%; font-size: 25px; font-weight: bold; position: relative; padding:0; margin: 1.2em 0; border-bottom: 3px solid #005FAA; text-align: left;}
#rousai-premium p { text-align: left;}
#rousai-premium .item { width:100%; }

@media only screen and (max-width:640px) {
    #rousai-premium h4{ font-size: 19px;}
}

#rousai-flow { }
#rousai-flow .flow-list { max-width:960px; margin: 0 auto;}
#rousai-flow .flow-list ul li { position: relative; width: 90%; max-width: 1400px; margin: 10px auto 30px auto; padding: 30px 60px; background-color:#fff;}
#rousai-flow .flow-list ul li .num { position: absolute; top: -10px; left: -10px; width:50px; height:50px; padding: 0; font-size: 25px; font-weight: bold; color: #fff; background-color:#3071B9; border-radius: 50%; line-height:50px;}
#rousai-flow .flow-list ul li h4 { margin-bottom:0.5em; font-size: 21px; font-weight: bold; color: #005FAA; text-align: left;}
#rousai-flow .flow-list ul li h4 strong { font-size: 127.78%; }
#rousai-flow .flow-list ul li p { margin-bottom: 0; text-align: left; }

@media only screen and (max-width:959px) {
    #rousai-flow .flow-list ul li { padding: 30px 50px;}
    #rousai-flow .flow-list ul li h4 { font-size: 17px;}
}

/* 小規模企業共済
======================================================================== */
#kigyou-about .catch { margin-bottom: 60px; text-align: center;}
#kigyou-about .catch .catch-copy {margin: 0 auto 0.75em auto; font-size:41px; font-weight: bold; color: #005FAA; text-align: center;}
#kigyou-about .catch p { font-size:17px; text-align: center; line-height: 1.75;}
#kigyou-about .catch p strong { font-size:19px;}

@media only screen and (max-width:959px) {
    #kigyou-about .catch .catch-copy { font-size:27px;}
}

#kigyou-about { }
#kigyou-about p {text-align: left;}
#kigyou-about ul li {text-align: left;}
#kigyou-about h4 { width: 100%; font-size: 25px; font-weight: bold; position: relative; padding:0; margin-bottom: 1.5em; }
#kigyou-about h4:after{ content: ''; position: absolute; bottom: -17px; left:0; right:0; width:50px; margin: 0 auto; border-bottom: 8px dotted #FFD900; text-align: center;}
#kigyou-about .flex { align-items: center;}
#kigyou-about .txt { width: 40%;}
#kigyou-about .photo { width: 58%;}

@media only screen and (max-width:959px) {
    #kigyou-about .txt { width: 100%;}
    #kigyou-about .photo { width: 100%;}
}

#kigyou-case .flex { align-items:stretch; align-content:space-between;}
#kigyou-case .case { position:relative; width:31.3%; padding:65px 30px 80px 30px; background: #F2F2F2; border-radius:10px;}
#kigyou-case .case .cat { position: absolute; top: 0; left: 0; padding: 5px 40px; font-size: 17px; font-weight: bold; color: #fff; background: #005FAA; border-radius:10px 0 10px 0;}
#kigyou-case .case h4 { margin-bottom: 1.2em; padding-bottom:0.2em; font-size:21px; font-weight: bold; border-bottom:3px solid #005FAA; text-align: left; line-height: 1.25;}
#kigyou-case .case img { max-width:100%; margin-bottom: 20px; }
#kigyou-case .case p { width:100%; text-align: left;}
#kigyou-case .case .result { position: absolute; bottom:30px; left:0; right:0; text-align: center; font-size:25px; font-weight: bold; padding-top:25px;}
#kigyou-case .case .result:before { position: absolute; top:-22px; left:0; right:0; font-family: "Font Awesome 6 Free"; content: "\f0d7"; font-size:40px; font-weight: 900; color:#FFD900; text-shadow: transparent 0 0 0, rgba(0, 0, 0, 0) 0 0 0 !important;}
#kigyou-case .case .result i { margin-right:7px; font-size:27px; font-weight: normal;}

@media only screen and (max-width:959px) {
    #kigyou-case { margin: 0 auto; padding:30px;}
    #kigyou-case .case { width:100%; margin-bottom: 20px; padding:60px 20px 40px 20px;}
    #kigyou-case .case .cat { padding: 5px 30px; font-size: 15px;}
    #kigyou-case .case h4 { font-size:19px; }
    #kigyou-case .case img { margin-right: 10px;}
}

#kigyou-system {}

#kigyou-target{}
#kigyou-target table th {text-align: center;}


#kigyou-mis{}
#kigyou-mis .item { width: 31.3%; padding:35px 20px 15px 20px; border: 1px solid #5798CB; text-align: center;}
#kigyou-mis .item h4 { position: relative; font-size:18px; margin-bottom:45px;}
#kigyou-mis .item h4:before { position: absolute; bottom:-47px; left:0; right:0; font-family: "Font Awesome 6 Free"; content: "\f063"; font-size:35px; font-weight: 900; color:#FFD900; text-shadow: transparent 0 0 0, rgba(0, 0, 0, 0) 0 0 0 !important;}
#kigyou-mis .item h4 i { color:#005FAA; margin-right:7px; font-size:21px;}
#kigyou-mis .item p { font-size:18px; font-weight: bold;}

@media only screen and (max-width: 640px) {
    #kigyou-mis .item { width: 100%; max-width: 360px; margin: 0 auto 20px auto; }
}

#kigyou-join {}
#kigyou-join h4 { width: 100%; font-size:25px; font-weight: bold; position: relative; padding:0; margin: 1.2em 0; border-bottom: 3px solid #005FAA; text-align: left;}
#kigyou-join p { text-align: left;}

#kigyou-flow { }
#kigyou-flow .flow-list { max-width:960px; margin: 0 auto;}
#kigyou-flow .flow-list ul li { position: relative; width: 90%; max-width: 1400px; margin: 10px auto 30px auto; padding: 30px 50px 30px 65px; background-color:#fff;}
#kigyou-flow .flow-list ul li .num { position: absolute; top: -10px; left: -10px; width:50px; height:50px; padding: 0; font-size: 25px; font-weight: bold; color: #fff; background-color:#3071B9; border-radius: 50%; line-height:50px;}
#kigyou-flow .flow-list ul li h4 { margin-bottom:0.5em; font-size: 21px; font-weight: bold; color: #005FAA; text-align: left;}
#kigyou-flow .flow-list ul li h4 strong { font-size: 127.78%; }
#kigyou-flow .flow-list ul li p { margin-bottom: 0; text-align: left; }

@media only screen and (max-width:959px) {
    #kigyou-flow .flow-list ul li { padding: 30px 50px;}
    #kigyou-flow .flow-list ul li h4 { font-size: 17px;}
}

/* 健康診断
======================================================================== */
#health-catch p { font-size:18px; line-height: 1.75;}

#health-catch .anc { width:620px; max-width:100%; margin:50px auto 0 auto;}
#health-catch .anc a { position: relative; width: 180px; margin:0; padding: 20px 40px 19px 30px; font-size: 16px; font-weight: bold; background: #0081E8; color: #FFF; text-align: center; line-height: 1; text-decoration: none; border-radius: 100vh;}
#health-catch .anc a:after { position: absolute; top:30%; right:18px; font-family: "Font Awesome 6 Free"; content: "\f0dd"; font-weight: 900; padding-left: 5px; color: #fff;}

@media screen and (max-width:1200px){
    #health-catch .anc {}
    #health-catch .anc a{ margin-bottom: 10px;}
}

@media screen and (max-width:480px){
    #health-catch .anc { width:180px; }
    #health-catch .anc a{ }
}

#main section#health-specific { padding-top:100px; margin-top:-100px;}
#health-specific p {text-align:center;}
#health-specific ul { width: 100%; max-width:640px; margin: 30px auto 50px;}
#health-specific li { position: relative; display: block; list-style: none; text-align: left; margin-bottom:20px; padding: 0 0 0 70px;}
#health-specific li:before { position: absolute; top:-5px; left: 10px; font-family: "Font Awesome 6 Free"; content: "\f00c"; font-size: 50px; font-weight: 900; color:#FFD900;}
#health-specific li h4{ clear: both; padding: 1px; margin: 0 auto 0.3em auto; font-size: 25px; font-weight: bold; }
#health-specific li p {text-align: left;}
#health-specific .exam { padding-bottom: 10px;}
#health-specific .exam:after { content:" "; display:block; clear:both;}
#health-specific .exam .table2 { margin:40px auto 10px auto;}

@media only screen and (min-width:960px) {
    #health-specific li h4{ display: inline-block; background: linear-gradient(transparent 50%, #FFE600 50%);}
}

@media only screen and (max-width:959px) {
    #health-specific li { padding-left:40px;}
    #health-specific li:before { font-size: 25px; }
    #health-specific li h4 { font-size: 21px; text-decoration:underline; text-decoration-color:#FFE600; text-decoration-thickness:5px;}
}

#health-specific h5 { width: 100%; font-size: 25px; font-weight: bold; position: relative; padding:0; margin: 1.2em 0; border-bottom: 3px solid #005FAA; text-align: left;}

#main section#health-group { background: #fff; padding-top:100px; margin-top:-100px;}
#health-group .box h4 { width: 100%; font-size:21px; font-weight: bold; position: relative; padding:0; margin:0 0 1.2em 0; border-bottom: 3px solid #005FAA; text-align: left;}
#health-group .box {margin-bottom:50px;}

@media only screen and (max-width:959px) {
    #health-group .box thead { display: none;}
}

#main section#health-personal { background: #fff; padding-top:100px; margin-top:-100px;}
#health-personal p { }
#health-personal ul { margin-bottom:40px; }
#health-personal .box { position: relative; width: 100%; margin-bottom:50px; padding:50px 40px 20px 40px; background: #F2F2F2; border-radius:10px; text-align: left;}
#health-personal .box h4 { width: 100%; font-size:21px; font-weight: bold; position: relative; padding:0; margin:0 0 1.2em 0; border-bottom: 3px solid #005FAA; text-align: left;}
#health-personal .box img { float: left; max-width: 45%; margin-right: 30px;}
#health-personal .box p { text-align: left;}
#health-personal .box a.btn { padding-left: 40px; }

@media only screen and (max-width:959px) {
    #health-personal p { }
    #health-personal .box { width:100%; margin-bottom: 20px; padding:40px 20px 20px 20px;}
    #health-personal .box:after { content:" "; display:block; clear:both;}
    #health-personal .box .cat { padding: 5px 30px; font-size: 15px;}
    #health-personal .box h4 { font-size:21px; }
    #health-personal .box img { margin-right: 10px;}
}

#page-health_check .apply { text-align: left; padding:0; background: #DDEAF5; border-radius:15px; align-items:stretch; align-content:space-between;}
#page-health_check .apply .s-tit { width:260px; padding:50px 10px 30px 10px; background: #005FAA; border-radius:15px 0 0 15px;}
#page-health_check .apply .txt { width:calc(100% - 260px); padding: 40px 30px 15px 40px; background: #DDEAF5; border-radius:0 15px 0 15px;}
#page-health_check .apply .s-tit h4 { width: 100%; font-size:25px; font-weight: bold; position: relative; padding:0; margin-bottom: 1.5em; color: #fff; text-align:center; }
#page-health_check .apply .s-tit h4:after{ content: ''; position: absolute; bottom: -17px; left:0; right:0; width:50px; margin: 0 auto; border-bottom: 8px dotted #FFD900; text-align: center;}
#page-health_check .apply .s-tit p.cap { color:#fff; font-size:16px; font-weight: bold; text-align:center;}
#page-health_check .apply .txt ol { margin-bottom:15px;}
#page-health_check .apply .txt ol li { margin-bottom: 0.5em; }

@media only screen and (max-width:959px) {
    #page-health_check .apply .s-tit { width:100%; padding:25px 10px 10px 10px; border-radius:15px 15px 0 0; }
    #page-health_check .apply .s-tit h4 { margin-bottom: 1.2em; font-size:23px;}
    #page-health_check .apply .txt { width:100%; padding: 40px 25px 20px 25px; border-radius:0 0 15px 15px;}
}

#health-ticket { }
#health-ticket p { font-size: 17px; text-align: left;}
#health-ticket cap {text-align: left;}

/* 保険料シミュレーション
======================================================================== */
#simulation { margin: 0 auto; padding:90px 10%; background:#DDEAF5; border-radius:25px;}
#simulation p { font-size: 17px; text-align:left; margin-bottom: 0.25em;}

#simulation #sim-hyou {padding: 20px 0;}
#simulation table#exp { width:56%;}

#simulation table#result { width:40%; text-align: center; border-collapse: collapse; background: #FFF;}
#simulation table#result thead th { padding:10px; font-size:17px; font-weight:bold; background:#5798CB; text-align: center; color: #fff;}
#simulation table#result tr:nth-child(2n+1) { background:#F4F4F4;}
#simulation table#result th,
#simulation table#result td { border-bottom: 3px solid #DDEAF5; padding:12px 10px; font-size:16px; text-align:left; vertical-align: middle;}

@media only screen and (max-width:1200px) { 
    #simulation table#exp { width:100%; margin-bottom: 50px;}
    #simulation table#result { width:100%;}
}

#simulation .select { display: inline-flex; align-items: center; position: relative;}
#simulation .select::after { position:absolute; right:15px; width:10px; height:7px; background-color:#535353; clip-path: polygon(0 0, 100% 0, 50% 100%); content: ''; pointer-events: none;}
#simulation .select select { appearance:none; min-width:200px; height:2.8em; padding: .3em calc(.8em + 30px) .3em .8em; border:1px solid #d0d0d0; border-radius:3px; background-color:#fff; color:#333; font-size: 15px; cursor:pointer;}

@media only screen and (max-width:960px) { 
    #simulation p { font-size: 16px; }
}

/* 組合概要
======================================================================== */
#summary-about {}
#summary-about .txt{ width:100%; margin: 0 auto;}
#summary-about .txt p{ text-align: left;}
#summary-about .txt p strong { font-size:17px;}
#summary-about .txt img { margin: 20px auto 0 auto;}

@media only screen and (max-width:1200px) {
    #summary-about { padding:40px 10%;}
    #summary-about h3{ font-size: 25px; margin-bottom: 50px;}
    #summary-about h3:before { width:210px;}
}

#summary-profile { margin: 0 auto; padding:90px 10%; background:#FFF; border-radius:25px;}
#summary-profile dl { clear:both; width:100%; max-width:640px; margin: 0 auto 50px auto; border-bottom:1px solid #AAA; text-align:left;}
#summary-profile dl dt { padding:20px 0 10px 10px; clear:left; float:left; width:10em; border-top:1px solid #AAA; color:#777;}
#summary-profile dl dd { padding:20px 0 10px 10px; margin-left:10em; border-top:1px solid #AAA;}
#summary-profile dl:after,#summary-profile dl dt:after,#summary-profile dl dd:after { content:" "; display:block; clear:both;}

#summary-profile .photo { width:100%; }
#summary-profile .photo img { width: 48%;}
#summary-profile .photo .map{ position:relative; width:48%; max-width:648px; aspect-ratio: 648 / 380; margin: 0;}
#summary-profile .photo .map iframe { position:absolute; top:0; left:0; width:100%; height:100%;}

@media only screen and (max-width:1200px) {
    #summary-profile  { padding:40px 10%;}
    #summary-profile h3{ font-size: 25px; margin-bottom: 50px;}
    #summary-profile h3:before { width:210px;}
}

@media only screen and (max-width: 640px) {
    #summary-profile .box { padding:20px; }
	#summary-profile dl dt { clear: both; float: none; width: 100%; padding-top:10px; padding-bottom: 3px;}
	#summary-profile dl dd { margin-left:0; border-top:none; padding-top: 3px; padding-bottom: 10px;}
    #summary-profile .photo img{ width:100%; margin-bottom: 20px; }
    #summary-profile .photo .map{ width:100%; }
}

/* 申請書ダウンロード
======================================================================== */
#doc-dl { background:#FFF; border-radius:20px; margin: 0 auto; padding:90px 10%;}
#doc-dl h3{ position: relative; display: inline-block; margin-bottom: 1.5em; font-size: 41px; font-weight: bold;}
#doc-dl h3:before { content: ''; position: absolute; bottom: -15px; display: inline-block; width:420px; height:5px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: #5798CB;}
#doc-dl .table1 { margin:50px auto;}
#doc-dl i.fa-file-pdf {color: #DF272A; margin-right:2px;}
#doc-dl a { color: #121212;}
#doc-dl .submit { padding:35px 10px 25px 10px; font-size:18px; background: #A8DBF4;}
#doc-dl .submit h4 { width: 100%; font-size:21px; font-weight: bold; position: relative; padding:0; margin-bottom: 1.5em; color:#005FAA; text-align:center; }
#doc-dl .submit h4:after{ content: ''; position: absolute; bottom: -15px; left:0; right:0; width:30px; margin: 0 auto; border-bottom: 5px dotted #5798CB; text-align: center;}

/* よくある質問
======================================================================== */
#faq { background: #fff; border-radius:20px; padding:90px 8%;}
#faq h3{ position: relative; display: inline-block; margin-bottom: 1.5em; font-size: 41px; font-weight: bold;}
#faq h3:before { content: ''; position: absolute; bottom: -15px; display: inline-block; width:420px; height:5px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: #5798CB;}

@media only screen and (max-width:959px) {
    #faq h3{ font-size: 22px; margin-bottom: 50px;}
    #faq h3:before { width:210px;}
}

#faq .acc {font-size:17px;}
#faq .acc dt { position: relative; background:#DDEAF5; margin: 10px auto 0 auto; padding: 15px 40px 15px 20px; text-align: left; border-radius:10px 10px 0 0; }
#faq .acc dt:hover{ color: #999; cursor: pointer;}
#faq .acc dt:before{ float: left; content: "Ｑ"; width:28px; height:28px; padding:0 1px 0 0; margin-top: -2px; margin-right: 10px; font-size: 17px; font-weight: bold; text-align: center; color: #fff; background-color:#3071B9; border-radius: 50%; line-height:28px;}
#faq .acc dt:after{ position: absolute; right: 18px; top: 30%; content: "▼"; color:#5798CB;}
#faq .acc dt.open:after{ content: "×"; color:#3071B9; font-size: 21px; font-weight: bold;}
#faq .acc dd{ position: relative; background:#EEF4FA; margin:0 auto; padding:22px 20px 22px 60px; text-align: left; border-radius: 0 0 10px 10px; }
#faq .acc dd:before{ position: absolute; left: 20px; content: "Ａ"; width:28px; height:28px; padding:0 1px 0 0; margin-top: -2px; margin-right: 10px; margin-bottom: auto; font-size: 17px; font-weight: bold; text-align: center; color: #3071B9; background-color:#C9DAED; border-radius: 50%; line-height:28px;}


/* ご相談
======================================================================== */
#contact-catch p { font-size:17px;}

@media screen and (max-width:640px){
    #contact-catch p br{ display: none;}
}

#contact-line p { font-size: 18px;}
#contact-flow { padding:60px 0 0 0; }
#contact-flow h4{ position: relative; display: inline-block; margin-bottom: 1.5em; font-size: 31px; font-weight: bold;}
#contact-flow h4:before { content: ''; position: absolute; bottom: -12px; display: inline-block; width:200px; height:3px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color:#005FAA;}

@media screen and (max-width:640px){
    #contact-line p { font-size:17px;}
    #contact-flow h4{ font-size:21px;}
    #contact-flow h4:before { width:170px;}
}

#contact-flow .flow-list { max-width:960px; margin: 20px auto 50px auto;}
#contact-flow .flow-list ul.flex { align-items:stretch; align-content:space-between; }
#contact-flow .flow-list ul li { position: relative; margin:0; text-align: center;}
#contact-flow .flow-list ul li:nth-child(odd) { width: 30.5%; padding:20px 16px 15px 16px; background-color:#0081E8; border-radius:15px;}
#contact-flow .flow-list ul li:nth-child(even) { width: 4.25%; display: flex; align-items: center; justify-content: center; }
#contact-flow .flow-list ul li .num { position: absolute; top: -10px; left: -10px; width:50px; height:50px; padding: 0; font-size:31px; font-weight: bold; color: #fff; background-color:#005FAA; border-radius: 50%; line-height:50px;}
#contact-flow .flow-list ul li i { color: #5798CB; font-size:30px;}
#contact-flow .flow-list ul li img { text-align: center; margin:0 auto;}

@media only screen and (max-width:640px) {
    #contact-flow .flow-list ul.flex { width: 100%; max-width: 360px; margin: 0 auto;}
    #contact-flow .flow-list ul li:nth-child(odd),
    #contact-flow .flow-list ul li:nth-child(even) { width: 100%; margin: 0 auto;}
    #contact-flow .flow-list ul li i {transform: rotate(90deg); margin:1px auto;}
}





