@charset "utf-8";

/*
Theme Name: アドダス
Author: アドダス
Author URI: https://addas.jp
Description: Bootstrap5@Webpack
*/

body {
    font-family: YakuHanJP, 'Noto Sans JP','Yu Gothic', 'メイリオ', sans-serif;
    line-height: 1.7;
    color: #333!important;
}

a {
    text-decoration: none!important;
}

h1,h2,h3,h4,h5 {
    font-family: YakuHanJP,'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}

p {
    font-family: YakuHanJP,'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
    color: #333;
    line-height: 1.7;
}

.lato {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.lh-03 {line-height: 0.3;}
.lh-04 {line-height: 0.4;}
.lh-05 {line-height: 0.5;}
.lh-06 {line-height: 0.6;}
.lh-07 {line-height: 0.7;}
.lh-08 {line-height: 0.8;}
.lh-09 {line-height: 0.9;}
.lh-10 {line-height: 1;}
.lh-11 {line-height: 1.1;}
.lh-12 {line-height: 1.2;}
.lh-13 {line-height: 1.3;}
.lh-14 {line-height: 1.4;}
.lh-15 {line-height: 1.5;}
.lh-16 {line-height: 1.6;}
.lh-17 {line-height: 1.7;}
.lh-18 {line-height: 1.8;}
.lh-19 {line-height: 1.9;}
.lh-20 {line-height: 2.0;}
.lh-21 {line-height: 2.1;}
.lh-22 {line-height: 2.2;}
.lh-23 {line-height: 2.3;}
.lh-24 {line-height: 2.4;}
.lh-25 {line-height: 2.5;}
.lh-26 {line-height: 2.6;}
.lh-27 {line-height: 2.7;}
.lh-28 {line-height: 2.8;}
.lh-29 {line-height: 2.9;}
.lh-30 {line-height: 3.0;}

.ls-1 {letter-spacing: 1px;}
.ls-2 {letter-spacing: 2px;}
.ls-3 {letter-spacing: 3px;}
.ls-4 {letter-spacing: 4px;}
.ls-5 {letter-spacing: 5px;}
.ls-6 {letter-spacing: 6px;}
.ls-7 {letter-spacing: 7px;}
.ls-8 {letter-spacing: 8px;}
.ls-9 {letter-spacing: 9px;}
.ls-10 {letter-spacing: 10px;}

/* =============  角丸 ============ */
.rounded05 {border-radius:5px}
.rounded10 {border-radius:10px}
.rounded15 {border-radius:15px}
.rounded20 {border-radius:20px}
.rounded25 {border-radius:25px}
.rounded30 {border-radius:30px}
.rounded35 {border-radius:35px}
.rounded40 {border-radius:40px}
.rounded45 {border-radius:45px}
.rounded50 {border-radius:50px}

.py-40-80 {
    padding: 40px 0;
}
@media (min-width: 992px) {
    .py-40-80  {
        padding: 80px 0;
    }
}

.py-60-120 {
    padding: 60px 0;
}
@media (min-width: 992px) {
    .py-60-120  {
        padding: 120px 0;
    }
}

.pt-40-80 {
    padding: 40px 0 0 0;
}
@media (min-width: 992px) {
    .pt-40-80  {
        padding: 80px 0 0 0;
    }
}

.mt-10 {
    margin-top: 10px!important;
}
.mt-20 {
    margin-top: 20px!important;
}
.mt-30 {
    margin-top: 30px!important;
}
.mt-40 {
    margin-top: 40px!important;
}
.mt-50 {
    margin-top: 50px!important;
}
.mt-60 {
    margin-top: 60px!important;
}
.mt-70 {
    margin-top: 70px!important;
}
.mt-80 {
    margin-top: 80px!important;
}
.mt-90 {
    margin-top: 90px!important;
}
.mt-100 {
    margin-top: 100px!important;
}

.mb-0 {
    margin-bottom: 0px!important;
}
.mb-10 {
    margin-bottom: 10px!important;
}
.mb-20 {
    margin-bottom: 20px!important;
}
.mb-30 {
    margin-bottom: 30px!important;
}
.mb-40 {
    margin-bottom: 40px!important;
}
.mb-50 {
    margin-bottom: 50px!important;
}
.mb-60 {
    margin-bottom: 60px!important;
}
.mb-70 {
    margin-bottom: 70px!important;
}
.mb-80 {
    margin-bottom: 80px!important;
}
.mb-90 {
    margin-bottom: 90px!important;
}
.mb-100 {
    margin-bottom: 100px!important;
}

@media (min-width: 768px) {
    .mt-md-0 {
        margin-top: 0px!important;
    }
}
@media (min-width: 992px) {
    .mt-lg-0 {
        margin-top: 0px!important;
    }
}
@media (min-width: 1200px) {
    .mt-xl-0 {
        margin-top: 0px!important;
    }
}

.mt-70-50 {
    margin-top: 70px!important;
}
@media (min-width: 992px) {
    .mt-70-50  {
        margin-top: 50px!important;
    }
}

.mt-20-50 {
    margin-top: 20px!important;
}
@media (min-width: 992px) {
    .mt-20-50  {
        margin-top: 50px!important;
    }
}
.mt-30-60 {
    margin-top: 30px!important;
}
@media (min-width: 992px) {
    .mt-30-60  {
        margin-top: 60px!important;
    }
}

.pt-10 {
    padding-top: 10px!important;
}
.pt-20 {
    padding-top: 20px!important;
}
.pt-30 {
    padding-top: 30px!important;
}
.pt-40 {
    padding-top: 40px!important;
}
.pt-50 {
    padding-top: 50px!important;
}
.pt-60 {
    padding-top: 60px!important;
}
.pt-70 {
    padding-top: 70px!important;
}
.pt-80 {
    padding-top: 80px!important;
}
.pt-90 {
    padding-top: 90px!important;
}
.pt-100 {
    padding-top: 100px!important;
}

.pb-0 {
    padding-bottom: 0px!important;
}
.pb-10 {
    padding-bottom: 10px!important;
}
.pb-20 {
    padding-bottom: 20px!important;
}
.pb-30 {
    padding-bottom: 30px!important;
}
.pb-40 {
    padding-bottom: 40px!important;
}
.pb-50 {
    padding-bottom: 50px!important;
}
.pb-60 {
    padding-bottom: 60px!important;
}
.pb-70 {
    padding-bottom: 70px!important;
}
.pb-80 {
    padding-bottom: 80px!important;
}
.pb-90 {
    padding-bottom: 90px!important;
}
.pb-100 {
    padding-bottom: 100px!important;
}

@media (min-width: 768px) {
    .pt-md-0 {
        padding-top: 0px;
    }
}
@media (min-width: 992px) {
    .pt-lg-0 {
        padding-top: 0px;
    }
}
@media (min-width: 1200px) {
    .pt-xl-0 {
        padding-top: 0px;
    }
}

.p-10 {
    padding: 10px!important;
}
.p-20 {
    padding: 20px!important;
}
.p-30 {
    padding: 30px!important;
}
.p-40 {
    padding: 40px!important;
}
.p-50 {
    padding: 50px!important;
}
.p-60 {
    padding: 60px!important;
}
.p-70 {
    padding: 70px!important;
}
.p-80 {
    padding: 80px!important;
}
.p-90 {
    padding: 90px!important;
}
.p-100 {
    padding: 100px!important;
}

/*　色　*/
.bg-gray {
    background-color: #e6e6e6;
}
.text-maincolor {
    color: #0042a3!important;
}
.bg-maincolor {
    background-color: #0042a3;
}

.text-yellow {
    color: #fff67f;
}
.bg-yellow {
    background-color: #fff67f; 
}

.bg-lightyellow {
    background-color: #ffffe6;
}

.bg-lightblue {
    background-color: #e6fafa;
}

.text-gray {
    color: #6c6b6b;
}

.bg-bajyu {
    background-color: #ffe6dc;
}

.bg-green {
    background-color: #63b7b3;
}

.text-ao {
    color: #32ade5;
}
.bg-ao {
    background-color: #32ade5;
}

.text-darkblue {
    color: #375e82;
}
.bg-darkblue {
    background-color: #375e82;
}

.fz-14 {
    font-size: 14px;
}
.fz-15 {
    font-size: 15px;
}
.fz-16 {
    font-size: 16px;
}
.fz-17 {
    font-size: 17px;
}
.fz-18 {
    font-size: 18px;
}
.fz-19 {
    font-size: 19px;
}
.fz-20 {
    font-size: 20px;
}
.fz-21 {
    font-size: 21px;
}
.fz-22 {
    font-size: 22px;
}
.fz-23 {
    font-size: 23px;
}
.fz-24 {
    font-size: 24px;
}
.fz-25 {
    font-size: 25px;
}
.fz-26 {
    font-size: 26px;
}
.fz-27 {
    font-size: 27px;
}
.fz-28 {
    font-size: 28px;
}
.fz-29 {
    font-size: 29px;
}
.fz-30 {
    font-size: 30px;
}

.fz-18-24 {
    font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
}

.fz-16-20 {
    font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
}

.fz-24-34 {
    font-size: clamp(1.5rem, 1.273rem + 1.14vw, 2.125rem)!important;
}

.fz-30-44 {
    font-size: clamp(2.5rem, 1.818rem + 3.41vw, 4.375rem)!important;
}


/*ヘッダー*/
header {
    position: fixed;
    background-color: rgba(255, 255, 255, .8);
    width: 100%;
    z-index: 999;
}

.header-box {
    padding: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
@media (min-width: 768px) {
    .header-box {
        padding: 15px;
    }
}
@media (min-width: 1200px) {
    .header-box {
        padding: 20px;
    }
}

.logo {
    width: 100px;
}
@media (min-width: 768px) {
    .logo {
        width: 150px;
    }    
}

.tel-icon {
    width: 35px;
    height: 35px;
    padding: 8px;
    border-radius: 50%;
    background-color: #2f5b9b;
}

.mail-icon {
    width: 35px;
    height: 35px;
    padding: 8px;
    border-radius: 50%;
    background-color: #32ade5;
}

@media (min-width: 768px) {
    .header-inner02 {
        display: flex;
        justify-content: space-between;
        gap: 15px;
    }

    .header-inner02 a:nth-child(1) {
        background-color: #2f5b9b;
        color: #fff;
        padding: 5px 20px;
        border-radius: 35px;
        display: flex;
        align-items: center;
    }
    .header-inner02 a:nth-child(2) {
        background-color: #32ade5;
        color: #fff;
        padding: 0 20px 0 20px;
        border-radius: 35px;
        display: flex;
        align-items: center;
    }

    .header-inner02 a:nth-child(1):hover,
    .header-inner02 a:nth-child(2):hover  {
        background-color: #af5aa3;
    }

    .tel-icon,.mail-icon {
        background-color: transparent;
    }

    .header-inner02 .lato {
        letter-spacing: 1.1px;
        font-size: 25px;
        line-height: 1.0;
    }

    .header-inner02 .otoiawase {
        font-size: 22px;
        line-height: 1.0;
        font-weight: bold;
    }

    .tel-icon {
        padding: 4px;
    }
    .mail-icon {
        padding: 4px;
    }
}

@media (min-width: 1200px) {
    .header-inner02 .lato {
        font-size: 32px;
    }
    .header-inner02 a:nth-child(1) {
        padding: 10px 20px;
    }

    .header-inner02 .otoiawase {
        font-size: 28px;
    }
}

/* こんな方にオススメ！ */
.namisen {
    border-bottom: double 12px #32ade5;
}
@media (min-width: 992px) {
    .namisen {
        text-underline-offset: 15px;
    }
}

.namisen-white {
    border-bottom: double 12px #fff;
}
@media (min-width: 992px) {
    .namisen-white {
        text-underline-offset: 15px;
    }
}

.checkbox {
    width: 25px;
}

.osusume {
    width: 85%;
    display: block;
    margin: 0 auto;
}

.sen01 {
    border: 3px solid #999;
}

/* この夏のおすすめの補助金 */
table {
  background-color: #fff;
  font-size: 20px;
}
.tbl-r02 th {
  background: #375e82;
  border-bottom: solid 2px #32ade5;
  color: #fff;
  padding: 10px;
  width: 25%;
  font-weight: normal;
  font-size: 16px;
  letter-spacing: 1.2px;
  text-align: center;
}
.tbl-r02 td {
　border: solid 2px #32ade5;
  padding: 15px;
  font-weight: bold;
}

.tbl-r02 tr {
    border-bottom: solid 2px #32ade5;
}
 
@media screen and (max-width: 640px) {
  table {
      font-size: 16px;
    }
  .tbl-r02 {
    width: 100%;
  }
  .tbl-r02 th,
  .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}

.bb-darkblue-1 {
    border-bottom: 1px solid #375e82;
}








/* トップページへ */
.scroll-btn-3 {
    position: fixed;
    right: 10px;
    bottom: 10px;
    width: 40px;
    height: 100px;
    background: rgba(0, 0, 0, 0.8);
    border: none;
    border-radius: 25px;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    backdrop-filter: blur(10px);
}
@media (min-width: 992px) {
    .scroll-btn-3 {
        right: 20px;
        bottom: 20px;
        width: 50px;
        height: 120px;
    }
}

.scroll-btn-3.show {
    opacity: 1;
    visibility: visible;
}

.scroll-btn-3:hover {
    background: rgba(0, 0, 0, 0.9);
    transform: scale(1.05);
}

.scroll-btn-3 .arrow {
    font-size: 20px;
}

.scroll-btn-3 .text {
    font-size: 10px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
}

.code-section {
    background: #1a202c;
    color: #e2e8f0;
    padding: 20px;
    border-radius: 10px;
    margin-top: 20px;
    overflow-x: auto;
}

.code-section pre {
    margin: 0;
    white-space: pre-wrap;
}

.circle01, .circle02, .circle03 {
    width: 320px;
    height: 320px;
    border-radius: 50%;
    display: flex;
    flex-direction: column; /* 縦並び */
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto; /* 水平中央揃え */
}
@media (min-width: 992px) {
    .circle01, .circle02, .circle03 {
        width: 360px;
        height: 360px;
    }
}

/* 色の設定（元のまま） */
.circle01 {
    border: 8px solid #72d5dd;
}
.circle01 h3 {
    color: #72d5dd;
}

.circle02 {
    border: 8px solid #32ade5;
}
.circle02 h3 {
    color: #32ade5;
}

.circle03 {
    border: 8px solid #2f5b9b;
}
.circle03 h3 {
    color: #2f5b9b;
}

.logowhite {
    display: block;
    width: 200px;
    margin: 0 auto;
}

#footer .pravo {
    color: #fff!important;
    display: block!important;
}

.btn-mailform {
    display: block;
    background-color: #b30c00;
    border: 2px solid #b30c00;
    color: #fff;
    font-size: 20px;
    margin: 40px auto 0;
    padding: 15px 30px;
    border: 0;
    width: 30%;
}
.btn-mailform:hover {
    background-color: #fff;
    border: 2px solid #b30c00;
    color: #b30c00;
}

.muryousoudans img  {
  position: absolute;
  top: 67%;
  left: 6%;
  -webkit-transform: translate(0%, 0%);
  -moz-transform: translate(0%, 0%);
  transform: translate(0%, 0%);
  width: 36%;
}
.muryousoudans img:nth-child(2) {
    opacity: 0;
}
.muryousoudans:hover img:nth-child(1) {
    opacity: 0;
}
.muryousoudans:hover img:nth-child(2) {
    opacity:1.0;
}


.muryousoudan img  {
    position: absolute;
    top: 83%;
    left: 51%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 27%;
}
.muryousoudan img:nth-child(2) {
    opacity: 0;
}
.muryousoudan:hover img:nth-child(1) {
    opacity: 0;
}
.muryousoudan:hover img:nth-child(2) {
    opacity:1.0;
}

.muryousoudan2 img  {
    position: absolute;
    top: 83%;
    left: 51%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 27%;
}
.muryousoudan2 img:nth-child(2) {
    opacity: 0;
}
.muryousoudan2:hover img:nth-child(1) {
    opacity: 0;
}
.muryousoudan2:hover img:nth-child(2) {
    opacity:1.0;
}

.flowbox {
    display: flex;
    flex-direction: column;
}
.flow-inner {
    background-color: #fff;
    padding: 15px;
    display: flex;
    align-items: center;
}
.flow-inner p {
    color: #32ade5;
    font-weight: bold;
    text-align: center;
    margin-bottom: 0;
}
.flow-inner2 {
    color: #fff;
    text-align: center;
}

.icon-mousikomi {
    width: 60px;
    margin: 0 10px 0 0;
}
@media (min-width: 992px) {
    .flowbox {
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        align-items: stretch;
        justify-content: flex-start;
    }
    .flow-inner {
        height: 300px;
        align-items: center;
        flex-direction: column;
    }
    .flow-inner2 {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 10px;
    }
    .flow-inner2 span {
        transform: rotate(-90deg);
        display: inline-block;
    }
    .flow-inner p {
        writing-mode: vertical-rl;
    }
    .icon-mousikomi {
        margin: 0 0 10px 0;
    }
}
@media (min-width: 1200px) {
    .flow-inner2 {
        padding: 0 20px;
    }
    .flow-inner p {
        font-size: 18px;
    }
}
@media (min-width: 1400px) {
    .flow-inner p {
        font-size: 20px;
    }
}

.muryousoudan3 {
    color: #32ade5;
    background-color: #fdf462;
    border: 5px solid #fdf462;
    border-radius: 20px;
    width: 80%;
    display: block;
    margin: 0 auto;
    text-align: center;
    padding: 20px;
    font-size: 20px;
    font-weight: bold;
}
.muryousoudan3:hover {
    color: #fdf462;
    background-color: #32ade5;
    border: 5px solid #fdf462;
}
@media (min-width: 768px) {
    .muryousoudan3 {
        width: 350px;
        font-size: 24px;
    }
}

/* よくある質問 */
.faq .icon-question {
    width: 100px;
}
.faq .faq-header {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}
.faq .faq-icon {
    width: 80px;
    height: 80px;
    margin-right: 20px;
}
.faq .faq-title {
    color: #2B4C9B;
    font-size: 28px;
    font-weight: bold;
    border-bottom: 2px solid #2B4C9B;
    padding-bottom: 5px;
}
.faq .faq-item {
    margin-bottom: 20px;
}
.faq .question {
    background-color: #32ade5;
    width: 100%;
    padding: 20px;
    border-radius: 15px 15px 0 0;
}
.faq .question p {
    color: white;
    font-weight: bold;
    font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);
    margin-bottom: 0;
}
.faq .answer {
    background-color: #fff;
    width: 100%;
    padding: 20px;
    border: 3px solid #32ade5;
    border-radius: 0 0 15px 15px;
}
.faq .answer p {
    font-weight: bold;
    font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);
    margin-bottom: 0;
 }
.indent-15 {
    padding-left:1.5em;
    text-indent:-1.5em;
}

.bg-genteileft {
    background-color: #fff;
    border-radius: 10px 0 0 10px;
    border: 3px solid #fff;
}
.bg-genteileft p {
    color: #32ade5;
}
.bg-genteiright {
    background-color: #fff67f;
    border-radius: 0 10px 10px 0;
    border: 3px solid #fff;    
}
.bg-genteiright p {
    color: #32ade5; 
}