table td {
    vertical-align: top;
}
/* button */
.linkbutton {
    clear: both;
    display: block;
    width: 300px;
    line-height: 45px;
    margin: 35px auto;
    color: #fff;
    font-size: 20px;
    font-size: 22px;
    font-size: 17px;
    font-weight: bold;
    font-weight: normal;
    text-align: center;
    background: linear-gradient(#5ab0ff 2%, #0049aa 98%);
    border: 1px solid #2a6276;
    border-radius: 10px;
}
.linkbutton:hover{
    text-decoration: none!important;
    background: linear-gradient(#016eae 2%, #2bd4fd 98%);
}

.linkbutton::after {
    position: relative;
    top: 0px;
    float: right;
    content: "➡";
    width: 53px;
    width: 40px;
    height: 45px;
    line-height: 45px;
    clip-path: polygon(0% 100%, 21.5% 0%, 100% 0%, 100% 100%);
    background: linear-gradient(#1694ff 2%, #003e80 98%);
    border-radius: 10px 10px 10px 0;
}
.linkbutton:hover::after{
    background: linear-gradient(#00588d 2%, #0897e7 98%);
}
.linkbutton b {
    font-weight: normal;
    font-size: 21px;
}
@media screen and (max-width:  640px){
    .linkbutton {
        width: 95%;
        line-height: 40px;
        font-size: 18px;
    }
    .linkbutton::after {
        height: 40px;
        line-height: 40px;
    }

    .linkbutton b {
        font-size: 22px;
    }
}

/* koukariyu */
#koukariyu {
    padding-left: 0;
}
#koukariyu h2 {
    position: relative;
    margin-left: 0;
    font-size: 30px;
    text-align: center;
    background: linear-gradient(#d00 70%, #ffffff 50%);
}
#koukariyu h2 span {
    margin: auto;
    display: block;
    width: 0;
    height: 0;
    border-top: 25px solid #d00;
    border-bottom: 0 solid transparent;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
}
.kouka_arrow,
.kouka_color {
    color: #c00000;
}
#koukariyu > .kouka_arrow {
    text-align: center;
    margin: 25px 0;
    line-height: 35px;
    font-size: 38px;
    font-weight: bold;
}
#koukariyu > .kouka_arrow::after {
    content: "";
    display: block;
    height: 54px;
    background: url(/img/kouka_arrow.jpg)no-repeat center center/contain;
}
#koukariyu div {
    margin-bottom: 20px;
}
#koukariyu .t_center p {
    margin-bottom: 0;
    line-height: 45px;
    font-size: 34px;
}
#koukariyu div p b span {
    font-size: 39px;
}
#koukariyu div p b .kouka_color {
    font-size: 1em;
}
#koukariyu div .supplement {
    margin-bottom: 10px;
    font-size: 1em;
}
#koukariyu div .supplement span {
    font-weight: bold;
}
#koukariyu .kouka_hyo {
    text-align: center;
    margin-bottom: 25px;
    padding: 30px 0 20px;
    background: #fffae8;
}
#koukariyu .kouka_tax {
    margin: 0 10px;
}
#koukariyu .kouka_tax p {
    padding: 10px 18px;
    font-size: 1em;
    background: #fffae8;
}
#koukariyu .kouka_tax p b {
    color: #c00000;
}
#koukariyu .kouka_tax p span {
    display: block;
    font-weight: bold;
    color: #0c79bf;
}
#koukariyu .kouka_tax .kouka_h {
    margin-bottom: 0;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    background: none;
}
#koukariyu .kouka_tax img {
    display: block;
    margin: 0 auto 20px;
    width: 574px;
    height: 100px;
}
#koukariyu .kouka_tax .kouka_h span {
    display: inline;
    color: #000;
}
#koukariyu .kouka_tax .kouka_h span span {
    color: #c00000;
}

/* kaitori_kouka */
#kaitori_kouka h2 {
    margin: 0;
    padding: 0;
    font-size: 58px;
    color: #000;
    background: linear-gradient(transparent 38%, #ffdbf1 81%, transparent 10%);
}
#kaitori_kouka h2 span {
    color: #c00000;
}
#kaitori_kouka ul {
    padding: 20px 0 0;
    list-style: none;
    background: #fffae8;
}
#kaitori_kouka ul li {
    min-height: 1px;
    margin: 0 auto 20px;
    width: 545px;
    text-align: center;
}
#kaitori_kouka ul li::after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
#kaitori_kouka ul li .left {
    width: 245px;
}
#kaitori_kouka .left p {
    margin-left: 0;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
}
#kaitori_kouka p {
    margin: 0 0 0 -15px;
    color: #3f86a6;
    text-align: left;
}
#kaitori_kouka p img{
    width: 204px;
    border: 8px solid #fff;
}
#kaitori_kouka ul li .right {
    margin-top: 10px;
}
#kaitori_kouka dl {
    font-weight: bold;
    background: #fff;
}
#kaitori_kouka dl dt {
    float: left;
    padding-left: 30px;
    margin-left: -15px;
    width: 125px;
    height: 25px;
    font-size: 18px;
    font-weight: normal;
    background: #f9dad6;
    text-align: left;
}
#kaitori_kouka dl .dl_color {
    color: #c00000;
}
#kaitori_kouka dl dt.dl_color {
    height: 40px;
}
#kaitori_kouka dl .dtplus {
    margin-left: -15px;
    padding-left: 0;
    width: 155px;
    border-bottom: 2px solid #4d4d4d;
}
#kaitori_kouka dl .dtplus::before {
    content: "+";
    margin: 0 10px 0 5px;
}
#kaitori_kouka dl .dtplus span {
    font-size: 12px;
    color: #000;
}
#kaitori_kouka dl dd {
    margin-left: 140px;
    padding-right: 15px;
    width: 120px;
    height: 25px;
    font-size: 18px;
    text-align: right;
}
#kaitori_kouka dl dd:last-child {
    margin-left: 150px;
    padding: 0;
    height: 40px;
}
#kaitori_kouka dl .ddplus {
    border-bottom: 2px solid #4d4d4d;
}
#kaitori_kouka dl b {
    font-weight: normal;
}
#kaitori_kouka dl dt.dl_color,
#kaitori_kouka dl dd.dl_color span {
    font-size: 23px;
}

/* trust-signals */
#trust-signals {
    background: #fdfaf5;
    padding: 30px 15px;
    margin-bottom: 40px;
    border: 2px solid #e5e5e5;
    border-radius: 8px;
}
#trust-signals h2 {
    text-align: center;
    font-size: 22px;
    color: #7d5660;
    margin-bottom: 20px;
    border-bottom: none;
    background: none;
}
#trust-signals .trust-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}
#trust-signals .trust-card {
    background: #fff;
    border: 1px solid #dcdcdc;
    padding: 15px;
    width: calc(50% - 20px);
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    color: #333;
    transition: 0.3s;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#trust-signals .trust-card:hover {
    text-decoration: none;
    background: #f9f9f9;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
#trust-signals .trust-card b {
    display: block;
    color: #c00000;
    font-size: 14px;
    margin-bottom: 5px;
}
#trust-signals .trust-card span {
    font-size: 12px;
    line-height: 1.4;
}
@media only screen and (min-width: 641px) {
    #trust-signals .trust-card {
        width: calc(25% - 15px);
    }
}

/* supporters */
#supporters i {
    display: block;
    margin: 5px 0 2px;
    padding-left: 5px;
    font-size: 18px;
    font-weight: bold;
}
#supporters figure {
    display:inline-block;
    width: 22%;
}
#supporters figcaption {
    margin: 3px 0;
    padding: 3px;
    font-size: 14px;
    color: #111;
    background: #eeeff0;
}
#supporters small {
    display: block;
    margin-top: 10px;
    text-align: right;
}


/* column_list */
.column_list2 {
    display: flex;
}

.column_list2 li {
    box-sizing: border-box;
    width: 32%;
    min-height: 300px;
    padding: 0 5px;
	list-style: none;
    border: 1px solid #999;
}
.column_list2 li+li {
    margin-left: 2%;
}

.column_list2 li a {
	display: block;
	color: #000;
	text-decoration: none;
}
.column_list2 li a:hover {
	opacity: 0.8;
}

.column_list2 li a span {
	display: block;
}
.column_list2 li a .eyecatch {
	height: 100px;
	background: url(/img/column_noimage.png) no-repeat center 0;
	background-size: contain;
}
.column_list2 li a .date {
    margin-top: 5px;
}
.column_list2 li a .title {
    margin-bottom:10px;
    font-weight: bold;
}
.column_list2 li a .summary {
    line-height: 1.3;
}

.column_list3 li {
    min-height: 100px;
    padding: 5px 0;
	list-style: none;
    border-bottom: 1px solid #999;
}
.column_list3 li+li {
    margin-top: 10px;
}

.column_list3 li a {
	display: block;
	color: #000;
	text-decoration: none;
}
.column_list3 li a:hover {
	opacity: 0.8;
}

.column_list3 li a .eyecatch {
	display: block;
    float: left;
	width: 150px;
    height: 100px;
    margin-right: 10px;
	background: url(/img/column_noimage.png) no-repeat center 0;
	background-size: contain;
}
.column_list3 li a .title {
    font-weight: bold;
}
.column_list3 li a .summary {
    display: block;
    line-height: 1.3;
}

/* qa */
#qa div {
    padding: 10px 0;
}
#qa div + div {
    border-top: 1px solid #d00;
}
#qa .qa_q ,
#qa .qa_a {
    position: relative;
    margin-bottom: 0;
    padding-top: 10px;
    padding-left: 30px;
}
#qa .qa_q span,
#qa .qa_a span {
    position: absolute;
    left: 0;
    top:0;
    font-size: 25px;
    font-weight: bold;
    color: #d00;
}
#qa .qa_a span {
    top: 5px;
    color: #00d;
}

/* zenkoku */
table.jp-map {
    width: 100%;
}
#zenkoku > div p {
    position: absolute;
    font-size: 17px;
    line-height: 1.8;
}
table.jp-map,
table.jp-map td,
table.jp-map th {
    border-collapse: collapse;
}
table.jp-map td,
table.jp-map th {
    text-align: center;
}
table.jp-map td[class] {
    border: 1px solid #fff;
}
table.jp-map td a {
    display: block;
    padding: 0;
    line-height: 35px;
    color: #444;
    font-size: 18px;
    font-weight:bold;
    text-decoration: none;
}
table.jp-map td a:hover {
	opacity: 0.8;
    color: #777;
    text-decoration: none;
}
table.jp-map td[rowspan="2"] a {
    line-height: 71px;
}
table.jp-map td[rowspan="3"] a {
    line-height: 106px;
}
.hokkaido a {
    background-color: #72c1e1;
}
.tohoku a {
    background-color: #72cca8;
}
.kanto a {
    background-color: #72c351;
}
.chubu a {
    background-color: #a1db56;
}
.kinki a {
    background-color: #d0df5a;
}
.chugoku a {
    background-color: #ffe35e;
}
.shikoku a {
    background-color: #ffbf2f;
}
.kyushu a {
    background-color: #ff9900;
}
.okinawa a {
    background-color: #ff7600;
}