@charset "utf-8";

/* 共通 */
:root {
    --Color-A: #367AB5;
    /* --Color-B: #E86826;*/ 
    --Color-B: #bb5909;
    --Color-C: #c44444;
    --Color-D: #008561;
    --Color-E: #946493;
    --Color-F: #606060;
}
h1 {
    font-size: 2.25rem;
    font-weight: bold;
    color: #000;
    border: solid 3px #09426c;
    padding: 0.2em 1.5rem ;
    border-radius: 0.5em;
}
h2 {
    font-size: 2rem;
    padding: 0.2em 1.5rem ;
    color: #000;
    background: #e0eaf2;
    border-left: solid 15px #09426c;
    font-weight: bold;
}
h3 {
    font-size: 1.75rem;
    padding: 0.2em;
    color: #000;
    border-left: solid 10px #09426c;
    border-bottom: solid 1px #09426c;
    font-weight: bold;
}
h4 {
    font-size: 1.5rem;
    padding: 0.2em;
    color: #000;
    border-left: solid 10px #09426c;
    font-weight: bold;
}
.Space {
    padding: 0px 15px;
}
.Space-2 {
    padding: 0px 30px;
}
.Adobe {
    display: flex;
    align-items: center;
}
.Adobe-Contents {
    width: 100%;
    padding: 15px;
    margin: 40px auto;
    border: solid 1px #888888;
    border-radius: 15px;
    color: #006dca;
    text-decoration: underline;
}
.Contents {
    width: 1280px;
    margin: 0 auto;
    font-size: 1.5rem;
}
.Child-Back-Color {
    background-color: #f0f0f0;
}
.Child-Button {
    font-size: 1.25rem;
    font-weight: bold;
    padding: 15px;
    border-radius: 5px;
    background: #ffffff;
    border: solid 2px #5489b0;
    box-shadow: 2px 2px 0px 2px #afd1ea;
    position: relative; /* 親要素にpositionを設定 */
}
.Under-Line span {
    text-decoration: underline;
}
/* 再乱用防止 */
.Sairanyou-Back {
    padding: 35px 40px;
    border-radius: 15px;
    font-size: 1.75rem;
    background: #e0eaf2;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.Sairanyou-Back img {
    width: 300px;
}
.Sairanyou-Back p span {
    display: inline-block;
    font-weight: bold;
    background: linear-gradient(transparent 70%, #abc7dd 70%);
}
.Sairanyou-Soudan {
    margin: 25px 0;
    width: 650px;
    border-radius: 15px;
    padding: 15px;
    font-weight: bold;
}
.Sairanyou-Button {
    display: flex;
    width: 100%; /* 親要素の幅に合わせる */
    justify-content: center; /* 子要素を中央に配置 */
    flex-wrap: wrap; /* ボタンが折り返す場合に備えて */
    gap: 20px;
}
.Sairanyou-Button p {
    width: 630px;
    padding: 20px;
    margin: 10px 0;
}
.Sairanyou-Arrow-Right {
    display: inline-block;
    vertical-align: middle;
    color: #5489b0;
    width: 0.6em;
    height: 0.6em;
    transform: rotate(45deg);
    position: absolute; /* 絶対位置に変更 */
    top: 50%; /* 上下中央に配置 */
    right: 15px; /* 右側に固定 */
    transform: translateY(-50%) rotate(45deg); /* 矢印を中央に配置 */
}
.Sairanyou-Arrow-Right::before,
.Sairanyou-Arrow-Right::after {
    content: '';
    position: absolute;
    background: currentColor;
    border-radius: 0.1em;
}
.Sairanyou-Arrow-Right::before {
    top: 0;
    left: 0;
    right: 0;
    height: 0.1em;
}
.Sairanyou-Arrow-Right::after {
    top: 0;
    right: 0;
    bottom: 0;
    width: 0.1em;
}
/* 支援窓口 */
.Support-Contents {
    display: flex;
    gap: 30px;
}
.Support-Contents address {
    font-style: normal;
}
.Support-Border {
    width: 625px;
    border: solid 1px #5e5e5e;
    padding: 40px;
}
.Support-Title {
    width: 540px;
    font-size: 2rem;
    color: #09426c;
    font-weight: bold;
    border-bottom: solid 1px #09426c;
}
.Support-Tel {
    border: 1px solid #09426c;
    font-size: 1.5rem;
    color: #09426c;
    font-weight: bold;
}
/* 全国窓口 */
.All-Support {
    border: 1px solid #000;
    color: #000;
    padding: 0px 10px;
}
.All-Support-Tel {
    font-size: 1.75rem;
    font-weight: bold;
    color: #000;
}
/* 許認可申請手続 */
.Request {
    width: 1280px;
    border-radius: 15px;
}
.Request-Contents {
    width: 1185px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 15px;
}
.Request-Contents a {
    text-decoration: underline;
    margin-left: 10px;
    box-sizing: border-box;
    position: relative;
    color: #006dca;
}
.Request-Arrow::before {
    content: "\025bc";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #006dca;
}
.Request-Contact {
    width: 1280px;
}
.Request-Contact dl {
    display: flex;
    align-items: center; /* 縦方向の中央寄せ */
    border-bottom: 1px dashed #000;
}
.Request-Contact dt {
    padding: 30px 20px;
    width: 625px;
}
.Request-Contact dd {
    width: 240px;
}
.Request-Mail {
    text-decoration: underline;
    color: #006dca;
}
.Request-DL-Contact dt {
    padding: 10px 20px;
}
.Request-DL {
    width: 100%;
    margin: 75px auto;
}
.Request-DL dd p {
    text-align: center;
    font-size: 0.8rem;
}
.Request-DL p span {
    background: #e0eaf2;
    padding: 15px 35px 0px 34px
}
.Request-DL dl:first-of-type {
    border-top: 1px solid #000;
}
.Request-DL dl {
    display: flex;
    align-items: center; /* 縦方向の中央寄せ */
    border-bottom: 1px solid #000;
}
.Request-DL dd{
    width: 165px;
    padding: 20px;
}
.Request-BackColor {
    background-color: #e0eaf2;  /* 水色背景 */
    min-height: 100px;
    min-width: 165px;
}
.Request-Zip {
    display: block; /* ブロック要素にして改行 */
    text-align: center; /* テキストを中央揃え */
    font-size: 0.8rem;
    margin-top: 5px; /* Wordボタンとの間隔調整 */
}
.Request-Pdf {
    background-color: #e40000;
    color: #ffffff;
    padding: 5px 30px;
    border-radius: 15px;
}
.Request-Pdf-Container {
    margin-right: 185px;
}
.Request-Word {
    background-color: #2b549e;
    color: #ffffff;
    padding: 5px 30px;
    border-radius: 15px;
}
.Request-Back {
    width: 725px;
    border-radius: 15px;
    gap: 0;
    padding: 15px;
}
.Request-Back a {
    text-decoration: underline;
    box-sizing: border-box;
    flex: 0 0 auto;
    position: relative;
    color: #006dca;
}
.Request-Others {
    width: 650px;
    border-radius: 15px;
    gap: 0;
    padding: 15px;
}
.DL-Contents {
    width: 100%; /* もしこれが必要な場合 */
    flex-wrap: wrap; /* 必要に応じて変更 */
}
.DL-Contents dd {
    width: 100%; /* もしこれが必要な場合 */
    padding: 15px 0; /* 必要なパディングを追加 */
    box-sizing: border-box;
}
.Careers-Back-table {
    width: 1280px;
    border-radius: 15px;
    gap: 0;
    padding: 20px;
}
.Careers-Back {
    width: 460px;
    border-radius: 15px;
    gap: 0;
    padding: 20px;
}
.Careers-Contents {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 15px;
    max-width: 1280px;
    margin: 40px auto;
    width: 100%;
}
.Careers-Day img {
    width: 100%;               /* 画像の幅を親要素に合わせる */
    border-radius: 15px;       /* 画像の角を丸くする */
}
.Careers-Button {
    display: flex;                /* pタグ内の要素を横並びにする */
    justify-content: space-between; /* アイテムを左右に配置 */
    align-items: center;          /* 中央揃え */
    padding: 5px;
    border: 1px solid #09426c;
    border-left: 15px solid #09426c;
    border-right: 15px solid #09426c;
}
.Careers-Arrow {
    color: #09426c;
    top: 0;
    margin-right: 15px;
}
.Faq-Contents {
    text-align: left;
}
.Faq-Contents dt {
    white-space: normal;
    font-size: 1.5rem;
    margin-bottom: 1em;
    color: #09426c;
    font-weight: bold;
    display: inline-flex; 
    align-items: center;
}
.Faq-Contents dt::before {
    content: "Ｑ";
    display: flex;
    align-items: center; 
    justify-content: center;
    width: 2em;
    height: 2em;
    background: #09426c;
    border-radius: 50%; 
    margin-right: 8px;
    color: white;
    font-weight: bold;
}
.Faq-Contents dd {
    margin: 0 0 2.5em;
    padding: 1em 1.5em;
    color: #000000;
    border-bottom: 1px dashed #bbbbbb;
}
.Faq-Contents dd {
    position: relative; /* 疑似要素の基準位置 */
    margin: 0 0 2.5em;
    padding: 0.25em 1.5em 1em 2.3em;
    color: #000000;
    border-bottom: 1px dashed #bbbbbb;
}

.Faq-Contents dd::before {
    content: "A";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    color: #c44444;
    font-weight: bold;
    position: absolute; /* `A` を絶対位置指定 */
    left: 0; /* `dt::before` と同じ位置 */
    top: 0; /* テキストの上部に揃える */
}
.Careers-Arrow-Right {
    width: 0.6em;
    height: 0.6em;
}
/* Sitemap */
.Sitemap-Title {
    font-size: 2rem;
    font-weight: bold;
    color: #09426c;
}
.Sitemap-Border {
    margin-top: 50px;
}
.Sitemap {
    display: flex;
    gap: 20px;
    margin: 40px auto;
    justify-content: center; /* これで中央寄せ */
    align-items: flex-start;
}
.Sitemap-Contents {
    width: 630px;
}
.Sitemap-Contents ul li {
    line-height: 1.5;
    list-style-type: none!important;
    position: relative;
    padding-left: 1em;
}  
.Sitemap-Contents ul li::before {
    content: "\025b6";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #09426c;
}
.Sitemap-Contents li {
    color: #006dca;
    text-decoration: underline;
}
.Sitemap-Line {
    border-bottom: 2px solid #09426c;
}
.Sitemap.Last-sitemap {
    justify-content: flex-start; /* 中央寄せを解除 */
}
.Link {
    word-wrap: break-word;
    overflow-wrap: break-word; /* 古いブラウザのために追加 */
}
.Sousa-Border {
    padding: 25px;
    border: 1px solid #000;
    border-radius: 15px;
}
.Application {
    display: block;
    padding: 0;
}
.En-Faq-Contents dd::before {
    content: " ";
}
.Tel-Contact dl {
    width: 650px;
    margin: 0 auto;
}
.Tel-Contact dt {
    width: 425px;
}
.Color-b {
    color:#000000;
}
/* Responsive */
/* Min-SP（400px以下） */
@media screen and (max-width: 400px) {
    .Contents {
        margin: auto 10px;
    }
    .Request-Contact {
        width: 100%;
        font-size: 1.25rem;
    }
    .Request-Contact dt {
        width: 100%;
        padding: 0;
    }
    .Request-Contact dl {
        display: block;
        padding: 15px;
    }
    .Request-DL {
        font-size: 1.25rem;
    }
    .Request-DL p {
        text-align: left;
    }
    .Request-DL p span, .Request-BackColor {
        background-color: #fff;
    }
    .Request-DL dl {
        display: block;
    }
    .Request-DL dd {
        width: 140px;
    }
    .Adobe {
        display: block;
    }
    .Adobe-Contents {
        width: 300px;
        font-size: 1rem;
    }
    .Request-Contents {
        width: 100%
    }
    .Request-Back {
        width: 100%
    }
    .Careers-Day {
        width: 100%;
    }
    .Careers-Contents {
        display: block;
    }
    .Faq-Contents dt::before {
        background-color: #fff;
        color: #09426c;
    }
    .Faq-Contents dt {
        white-space: normal;
    }
    .Support-Contents {
        display: block;
    }
    .Support-Border {
        width: 100%;
    }
    .Support-Title {
        font-size: 1.5rem;
        width: 100%;
    }
    .Support-Contents {
        font-size: 1.25rem;
    }
    .Support-br {
        display: none;
    }
    .Support-Mt-20 {
        margin-top: 20px;
    }
    .Sitemap {
        display: block;
    }
    .Sitemap-Contents {
        width: 100%;
    }
    .Link-Contents {
        font-size: 1.25rem;
    }
    .Link-Contents a {
        font-size: 0.85rem;
    }
    .Tel-Contact dl {
        width: 350px;
        margin: 0 auto;
    }
    .Tel-Contact dt {
        width: 350px;
    }
    .Sairanyou-Back {
        display: block;
    }
    .Request {
        width: 100%;
    }
    .Request-Contents a {
        font-size: 1.25rem;
    }
    .cdb-file a {
        padding: 0;
    }
}
/* SP（401px〜550px） */
@media screen and (min-width: 401px) and (max-width: 550px) {
    .Contents {
        margin: auto 10px;
    }
    .Request-Contact {
        width: 100%;
        font-size: 1.25rem;
    }
    .Request-Contact dt {
        width: 100%;
        padding: 0;
    }
    .Request-Contact dl {
        display: block;
        padding: 15px;
    }
    .Request-DL {
        font-size: 1.25rem;
    }
    .Request-DL p {
        text-align: left;
    }
    .Request-DL p span, .Request-BackColor {
        background-color: #fff;
    }
    .Request-DL dl {
        display: block;
    }
    .Request-DL dd {
        width: 140px;
    }
    .Adobe {
        display: block;
    }
    .Adobe-Contents {
        width: 380px;
        font-size: 1rem;
    }
    .Request-Contents {
        width: 100%
    }
    .Request-Back {
        width: 100%
    }
    .Careers-Day {
        width: 100%;
    }
    .Careers-Contents {
        display: block;
    }
    .Faq-Contents dt::before {
        background-color: #fff;
        color: #09426c;
    }
    .Faq-Contents dt {
        white-space: normal;
    }
    .Support-Contents {
        display: block;
    }
    .Support-Border {
        width: 100%;
    }
    .Support-Title {
        font-size: 1.5rem;
        width: 100%;
    }
    .Support-Contents {
        font-size: 1.25rem;
    }
    .Support-br {
        display: none;
    }
    .Support-Mt-20 {
        margin-top: 20px;
    }
    .Sitemap {
        display: block;
    }
    .Sitemap-Contents {
        width: 100%;
    }
    .Link-Contents {
        font-size: 1.25rem;
    }
    .Link-Contents a {
        font-size: 1rem;
    }
    .Tel-Contact dl {
        width: 350px;
        margin: 0 auto;
    }
    .Tel-Contact dt {
        width: 350px;
    }
    .Sairanyou-Back {
        display: block;
    }
    .Request {
        width: 100%;
    }
    .Request-Contents a {
        font-size: 1.25rem;
    }
    .cdb-file a {
        padding: 0;
    }
}
/* SPタブレット（551px〜767px） */
@media screen and (min-width: 551px) and (max-width: 767px) {
    .Contents {
        margin: auto 10px;
    }
    .Request-Contact {
        width: 100%;
    }
    .Request-Contact dt {
        width: 100%;
        padding: 0;
    }
    .Request-Contact dl {
        display: block;
        padding: 15px;
    }
    .Request-DL {
        font-size: 1.25rem;
    }
    .Request-DL p {
        text-align: left;
    }
    .Request-DL p span, .Request-BackColor {
        background-color: #fff;
    }
    .Request-DL dl {
        display: block;
    }
    .Request-DL dd {
        width: 140px;
    }
    .Adobe-Contents {
        width: 500px;
        display: block;
        font-size: 1rem;
    }
    .Request-Contents {
        width: 100%
    }
    .Request-Back {
        width: 100%
    }
    .Careers-Day {
        width: 100%;
    }
    .Careers-Contents {
        display: block;
    }
    .Faq-Contents dt::before {
        width: 1.5em;
        height: 1.5em;
    }
    .Faq-Contents dt {
        white-space: normal;
    }
    .Support-Contents {
        display: block;
    }
    .Support-Border {
        width: 100%;
    }
    .Support-Title {
        font-size: 1.5rem;
        width: 100%;
    }
    .Support-Contents {
        font-size: 1.25rem;
    }
    .Support-br {
        display: none;
    }
    .Support-Mt-20 {
        margin-top: 20px;
    }
    .Sitemap {
        display: block;
    }
    .Sitemap-Contents {
        width: 100%;
    }
    .Link-Contents {
        font-size: 1.25rem;
    }
    .Link-Contents a {
        font-size: 1rem;
    }
    .Tel-Contact dl {
        width: 500px;
        margin: 0 auto;
    }
    .Tel-Contact dt {
        width: 425px;
    }
    .Sairanyou-Back {
        display: block;
    }
    .Request {
        width: 100%;
    }
    .Request-Contents a {
        font-size: 1.25rem;
    }
    .cdb-file a {
        padding: 0;
    }
}
/* Tab（768px〜930px） */
@media screen and (min-width: 768px) and (max-width: 930px) {
    .Contents {
        margin: auto 10px;
    }
    .Request-Contact {
        width: 100%;
        font-size: 1.25rem;
    }
    .Request-Contact dt {
        width: 285px;
        padding: 30px 10px;
    }
    .Request-Contact dd {
        width: 170px;
    }
    .Request-DL {
        font-size: 1.25rem;
    }
    .Request-DL p {
        text-align: left;
    }
    .Request-DL p span, .Request-BackColor {
        background-color: #fff;
    }
    .Request-DL dl {
        display: block;
    }
    .Adobe-Contents {
        width: 700px;
        display: block;
        font-size: 1rem;
    }
    .Request-Contents {
        width: 100%
    }
    .Request-Back {
        width: 100%
    }
    .Careers-Day {
        width: 100%;
    }
    .Careers-Contents {
        display: block;
    }
    .Support-Contents {
        display: block;
    }
    .Support-Border {
        width: 100%;
    }
    .Support-Mt-20 {
        margin-top: 20px;
    }
    .Sitemap {
        display: block;
    }
    .Sitemap-Contents {
        width: 100%;
    }
    .Tel-Contact dl {
        width: 650px;
        margin: 0 auto;
    }
    .Tel-Contact dt {
        width: 425px;
    }
    .Request {
        width: 100%;
    }
    .Request-Contents a {
        font-size: 1.25rem;
    }
    .Request {
        width: 100%;
    }
}
/* NotePC（931px〜1279px） */
@media screen and (min-width: 931px) and (max-width: 1279px) {
    .Contents {
        margin: auto 10px;
    }
    .Request-Contact {
        width: 100%;
    }
    .Request-Contact dt {
        width: 325px;
    }
    .Request-DL dt {
        width: 100%;
    }
    .Request-Contents {
        width: 100%
    }
    .Request-Back {
        width: 100%
    }
    .Careers-Day {
        width: 100%;
    }
    .Support-Contents {
        display: block;
    }
    .Support-Border {
        width: 100%;
    }
    .Support-Mt-20 {
        margin-top: 20px;
    }
    .Sitemap {
        display: block;
    }
    .Sitemap-Contents {
        width: 100%;
    }
    .Tel-Contact dl {
        width: 650px;
        margin: 0 auto;
    }
    .Tel-Contact dt {
        width: 425px;
    }
    .Request {
        width: 100%;
    }
}
/* DesktopPC（1280px以上） */
@media screen and (min-width: 1280px) {
    .Request-DL dt {
        width: 100%;
    }
    .Support-Border p br {
        display: none;
    }
}