/* ========================================
   インラインスタイルをクラスに分離したCSS
   ======================================== */

/* テキスト配置 */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }
.text-justify-spacing { text-align: justify; letter-spacing: 0.05em; font-size: 110%; }

/* フォントファミリー */
.text-hirakaku-w6 { font-family: 'fp-hirakakupron-w6'; font-weight: bold; }
.text-hirakaku-w8 { font-family: 'fp-hirakakustdn-w8'; }
.text-dnpshuei { font-family: 'dnpshueiminpr6n-m'; }

/* フォントサイズ */
.text-size-70 { font-size: 70%; }
.text-size-80 { font-size: 80%; }
.text-size-90 { font-size: 90%; }
.text-size-110 { font-size: 110%; }
.text-size-160 { font-size: 160%; }
.text-size-180 { font-size: 180%; }
.text-size-190 { font-size: 190%; }
.text-size-240 { font-size: 240%; }

/* 文字色 */
.text-white { color: #FFFFFF; }
.text-blue { color: #0099ff; }
.text-dark-blue { color: #004ec3; }
.text-navy { color: #003366; }
.text-cyan { color: #66ccff; }

/* レターススペーシング */
.text-letter-spacing-1 { letter-spacing: 1px; }

/* テキストシャドウ */
.text-shadow-dark { text-shadow: rgba(0, 0, 0, 0.4); }

/* 水平線 */
.hr-dotted { border-top: 1px dotted; width: 100%; }

/* レコード背景 - ダークオーバーレイ */
.record-dark-overlay-bg {
    background-color: rgba(0, 0, 0, 0.4);
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4));
    background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4));
    background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4));
    background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4));
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4));
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border: none;
    box-shadow: none;
    padding: 0 0 0 10px;
}

/* レコード背景 - ライトブルー */
.record-light-blue-bg {
    background-color: #e3f2ff;
    background-image: -webkit-linear-gradient(top, #e3f2ff, #e3f2ff);
    background-image: -moz-linear-gradient(top, #e3f2ff, #e3f2ff);
    background-image: -ms-linear-gradient(top, #e3f2ff, #e3f2ff);
    background-image: -o-linear-gradient(top, #e3f2ff, #e3f2ff);
    background-image: linear-gradient(to bottom, #e3f2ff, #e3f2ff);
    border-radius: 0px;
    border: none;
    box-shadow: none;
    padding: 100px 0 0 0;
}

/* レコード背景 - トップボーダー（ブルー） */
.record-blue-top-border {
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-top: 8px solid #004ec3;
    border-bottom: none;
    border-right: none;
    border-left: none;
    box-shadow: none;
    padding: 20px 0 0 0;
}

/* レコード背景 - ボーダーとパディングなし */
.record-no-border-no-padding {
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border: none;
    box-shadow: none;
    padding: 0;
}

/* レコード背景 - パディングなし */
.record-no-padding {
    padding: 0;
}

/* レコード背景 - シャドウなし */
.record-no-shadow {
    box-shadow: none;
}

/* ボタンスタイル - ブループライマリ */
.button-blue-primary {
    border: 1px solid #ffffff;
    background-color: #004ec3;
    background-image: -webkit-linear-gradient(top, #004ec3, #004ec3);
    background-image: -moz-linear-gradient(top, #004ec3, #004ec3);
    background-image: -ms-linear-gradient(top, #004ec3, #004ec3);
    background-image: -o-linear-gradient(top, #004ec3, #004ec3);
    background-image: linear-gradient(to bottom, #004ec3, #004ec3);
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    box-shadow: none;
    padding: 5px 0;
}

/* ボタンスタイル - ブルーラージ */
.button-blue-large {
    border: 1px solid #ffffff;
    background-color: #004ec3;
    background-image: -webkit-linear-gradient(top, #004ec3, #004ec3);
    background-image: -moz-linear-gradient(top, #004ec3, #004ec3);
    background-image: -ms-linear-gradient(top, #004ec3, #004ec3);
    background-image: -o-linear-gradient(top, #004ec3, #004ec3);
    background-image: linear-gradient(to bottom, #004ec3, #004ec3);
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    box-shadow: none;
    padding: 15px 0;
}

/* 背景画像（セクション） */
.section2-bg-image {
    background-image: url(../files/libs/418/202210271529466413.png);
    background-color: #ffffff;
}

.section3-bg-white {
    background-color: #ffffff;
}

.section4-bg-image {
    background-image: url(../files/libs/154/201904181019015586.jpg);
}

.section5-bg-image {
    background-image: url(../files/libs/182/201904181541581179.jpg);
}

.section6-bg-image {
    background-image: url(../files/libs/455/202404301352531279.png);
}

.section8-bg-image {
    background-image: url(../files/libs/192/201904181905292619.png);
    background-color: #ffffff;
    background-size: auto;
    background-repeat: repeat-x;
}

/* セクション高さ */
.section2-height { height: 96.9697%; }
.section3-height { height: 63.0304%; }
.section4-height { height: 129.293%; }
.section5-height { height: 96.9697%; }
.section6-height { height: 122.828%; }
.section8-height { height: 29.2526%; }

/* メインコンテンツ */
.main-full-height { height: 100%; }

/* ヘッダー関連 */
.header-image-position {
    top: 0px;
    width: 144px;
    height: 128px;
    right: 39px;
    left: auto;
}
.header-menu-position {
    top: 29px;
    right: 205px;
    left: auto;
}
.header-bottom-container {
    width: 100%;
    display: none;
    padding: 15px 0;
}
.header-bottom-bg {
    width: 100%;
}

/* メニューボタン */
.menu-btn-area {
    position: absolute;
    top: 0;
    right: 0;
    height: 128px;
    width: 128px;
    display: none;
}
.menu-btn-link {
    height: 100%;
    width: 100%;
    text-align: center;
    display: inline-block;
}

/* 画像 */
.image-full-size {
    width: 100%;
    height: 100%;
}

/* アスペクト比 */
.aspect-padding-50 {
    display: block;
    padding-top: 50%;
}
.aspect-padding-100 {
    display: block;
    padding-top: 100%;
}
.aspect-padding-31-8 {
    display: block;
    padding-top: 31.818181818182%;
}
.aspect-padding-19-28 {
    display: block;
    padding-top: 19.282511210762%;
}

/* ニュースアイテム */
.news-item-style {
    font-size: 100%;
    color: #000000;
    border-bottom: 1px dotted #000000;
    line-height: 1.2;
}

.news-cell1 {
    white-space: nowrap;
    display: table-cell;
}

.news-cell2 {
    display: table-cell;
    word-break: break-all;
}

.news-link-blue {
    color: #005FBD;
}

.news-icon-margin {
    margin-right: 10px;
}

/* フッタースタイル */
.footer-text-style {
    line-height: 1.6;
    font-size: 80%;
}

.footer-content-style {
    color: #66ccff;
    font-size: 76%;
    line-height: 1.6em;
}

/* ブロックレイアウト */
.block95-layout { 
    margin-top: 0;
    margin-bottom: 0;
    width: 30%;
    left: 2.46%;
    top: 93%;
    right: 67.55%;
    z-index: 5;
}

.block54-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 27.2727%;
    left: -0.36%;
    top: 45%;
    right: 73.1%;
    z-index: 1;
}

.block56-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 40.4545%;
    left: -0.36%;
    top: 53.75%;
    right: 59.91%;
    z-index: 3;
}

.block57-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 51.9091%;
    left: -0.36%;
    top: 62.88%;
    right: 48.46%;
    z-index: 4;
}

.block58-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 18.1818%;
    left: 41.1%;
    top: 0%;
    right: 40.72%;
    z-index: 1;
}

.block59-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 69.9091%;
    left: 15.19%;
    top: 32.99%;
    right: 14.91%;
    z-index: 2;
}

.block60-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 18.1818%;
    left: 41.1%;
    top: 0%;
    right: 40.72%;
    z-index: 3;
}

.block62-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 25.4503%;
    left: 8.71%;
    top: 27.17%;
    right: 65.85%;
    z-index: 5;
}

.block63-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 25.4503%;
    left: 37.27%;
    top: 27.17%;
    right: 37.28%;
    z-index: 6;
}

.block64-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 25.4503%;
    left: 8.67%;
    top: 56.51%;
    right: 65.89%;
    z-index: 7;
}

.block65-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 25.4503%;
    left: 37.27%;
    top: 56.51%;
    right: 37.28%;
    z-index: 8;
}

.block66-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 27.2699%;
    left: 65.72%;
    top: 56.35%;
    right: 7.02%;
    z-index: 9;
}

.block68-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 10.9091%;
    left: 23.07%;
    top: 57.01%;
    right: 66.03%;
    z-index: 11;
}

.block69-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 10.9091%;
    left: 51.83%;
    top: 57.02%;
    right: 37.27%;
    z-index: 12;
}

.block70-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 10.9091%;
    left: 80.81%;
    top: 56.86%;
    right: 8.29%;
    z-index: 13;
}

.block72-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 18.1818%;
    left: 41.1%;
    top: 0%;
    right: 40.72%;
    z-index: 15;
}

.block73-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 63.9091%;
    left: 33.85%;
    top: 65.18%;
    right: 2.25%;
    z-index: 16;
}

.block74-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 58.0909%;
    left: 40.82%;
    top: 67.35%;
    right: 1.09%;
    z-index: 15;
}

.block76-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 13.8182%;
    left: 81.24%;
    top: 10.5%;
    right: 4.95%;
    z-index: 17;
}

.block77-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 18.1818%;
    left: 41.1%;
    top: 0%;
    right: 40.72%;
    z-index: 19;
}

.block81-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 30%;
    left: 11.65%;
    top: 21.99%;
    right: 58.36%;
    z-index: 23;
}

.block82-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 34.5455%;
    left: 11.65%;
    top: 37.25%;
    right: 53.81%;
    z-index: 24;
}

.block83-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 40.0881%;
    left: 51.56%;
    top: 23.83%;
    right: 8.36%;
    z-index: 25;
}

.block84-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 9.0895%;
    left: 9.13%;
    top: 15.41%;
    right: 81.79%;
    z-index: 1;
}

.block85-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 34.5455%;
    left: 11.65%;
    top: 17.25%;
    right: 53.81%;
    z-index: 26;
}

.block86-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 26.2699%;
    left: 22.91%;
    top: 51.99%;
    right: 50.83%;
    z-index: 15;
}

.block87-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 26.2699%;
    left: 50.84%;
    top: 51.99%;
    right: 22.9%;
    z-index: 27;
}

.block88-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 20.2727%;
    left: -0.18%;
    top: 13.82%;
    right: 79.91%;
    z-index: 1;
}

.block89-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 48.9091%;
    left: -0.18%;
    top: 41.44%;
    right: 51.28%;
    z-index: 2;
}

.block90-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 74.1818%;
    left: 26%;
    top: 13.82%;
    right: -0.18%;
    z-index: 3;
}

.block91-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 48.9091%;
    left: 25.73%;
    top: 82.88%;
    right: 25.37%;
    z-index: 4;
}

.block127-layout {
    margin-top: 0;
    margin-bottom: 0;
    width: 25.8182%;
    left: 65.92%;
    top: 27.17%;
    right: 8.27%;
    z-index: 12;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
    .block95-layout,
    .block54-layout,
    .block56-layout,
    .block57-layout,
    .block58-layout,
    .block59-layout,
    .block60-layout,
    .block62-layout,
    .block63-layout,
    .block64-layout,
    .block65-layout,
    .block66-layout,
    .block68-layout,
    .block69-layout,
    .block70-layout,
    .block72-layout,
    .block73-layout,
    .block74-layout,
    .block76-layout,
    .block77-layout,
    .block81-layout,
    .block82-layout,
    .block83-layout,
    .block84-layout,
    .block85-layout,
    .block86-layout,
    .block87-layout,
    .block88-layout,
    .block89-layout,
    .block90-layout,
    .block91-layout,
    .block127-layout {
        width: 100%;
        left: 0;
        right: 0;
        position: relative;
    }
}
