html { -webkit-text-size-adjust: 100%; } /* iOS自動拡大の副作用を抑制 */
input, select {
  font: inherit;
  font-size: 16px;        /* iOSズーム対策 */
  line-height: 1.4;
  width: 100%;
  max-width: 100%;
  min-height: 2.75rem;    /* 指のタップしやすさ */
  padding: .5rem .875rem;
  border: 1px solid #cbd5e1;
  border-radius: .5rem;
  background-color: #fff;
}

/* selectのネイティブ矢印を自作に切替（必要なら） */
select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%),
    linear-gradient(to right, #cbd5e1, #cbd5e1); /* 仕切り線 */
  background-position:
    right 1rem center,
    right calc(1rem - 6px) center,
    right 2.25rem center;
  background-size: 6px 6px, 6px 6px, 1px 60%;
  background-repeat: no-repeat;
  padding-right: 2.75rem; /* 矢印分の余白 */
}

/* Safariでのselect高さ潰れ防止（Flex内で効く） */
select, input[type="date"] {
  min-height: 2.75rem;
  align-self: stretch; /* 親がalign-items:centerでも潰れにくい */
}

/* iOSのdateピッカー内部余白調整 */
input[type="date"] {
  -webkit-appearance: none;
          appearance: none;
  /* 必要ならカレンダーアイコン隠す/揃える */
}
input[type="date"]::-webkit-datetime-edit { padding: .4rem 0; }
input[type="date"]::-webkit-calendar-picker-indicator { padding: .4rem; }

/* 無理な固定heightを使っていたら撤去する */
input, select { height: auto; }


/* Theme-specific utility styles */
:root {
    --accent-color: #2563eb;
    --accent-color-dark: #1d4ed8;
}

body {
    background-color: #fff;
}

footer {
    background-color: #232923;
}
.footer .site-footer__inner {
    color: #fff;
    text-align: center;
    padding-bottom: 100px;
}

h1, h2, h3, h4, p, a, li {
    font-family: 'Noto Sans JP', sans-serif;
    color: #232923;
    margin: 0;
    font-weight: 500;
}

a {
    text-decoration: none !important;
}

.common_shadow {
    box-shadow: 0 4px 4px 0 #0000002f;
}

.pc_header {
    width: 100%;
    min-width: 1400px;
    position: fixed;
    top: 0;
    z-index: 99;
}
.front_header {

}
.front_header img {
    height: 40px;
}
.header_logo {
    width: 100%;
    height: 40px;
    background-color: #232923;
    padding: 10px;
}

.center_item {
    text-align: center;
}
.right_item {
    text-align: right;
}
.align_center {
    align-items: center;
}
.justify_center {
    justify-content: center;
}
.flex_container {
    display: flex;
}

/* 130 */
ul.header_btm_cont {
    margin: 0;
    padding-left: 0;
    padding: 6px 0;
    border-bottom: 2px solid #232923;
    background-color: #fff;
}
ul.header_btm_cont li {
    list-style: none;
    width: 130px;
    font-size: 14px;
    font-weight: 500;
    border-left: 2px solid #232923;
}
ul.header_btm_cont li:last-child {
    border-right: 2px solid #232923;
}

.pc_none_item {
    display: none;
}

.main_column_pc {
    max-width: 1400px;
    margin: 0 auto;
    min-width: 1400px;
}

.sec_ttl_cont {
    margin-top: 60px;
}
.sec_ttl_cont img {
    height: 46px;
}
.sec_ttl_cont h2 {
    font-size: 32px;
    font-weight: 600;
}

.sp.sp_ham_icon {
    border: 1px solid #fff;
    height: 1px;
    width: 16px;
    margin-left: auto;
    position: relative;
    cursor: pointer;
    z-index: 999;
    margin-right: 20px;
    background-color: #fff;
}
.sp.sp_ham_icon:before {
    position: absolute;
    content: '';
    height: 1px;
    width: 16px;
    left: -1px;
    top: 4px;
    border: 1px solid #fff;
    background-color: #fff;
}
.sp.sp_ham_icon:after {
    position: absolute;
    content: '';
    height: 1px;
    width: 16px;
    left: -1px;
    bottom: 4px;
    border: 1px solid #fff;
    background-color: #fff;
}

.sp.sp_ham_icon.active {
    border: none;
    background-color: transparent;
}
.sp.sp_ham_icon.active:before {
    transform: rotate(45deg);
}
.sp.sp_ham_icon.active:after {
    transform: rotate(-45deg);
}
.sp.sp_ham_icon.active:before, .sp.sp_ham_icon.active:after {
    transition: top 300ms 50ms ease;
    transform: 300ms 350ms ease;
    top: 0;
}

.sp_ham_menu {
    display: none;
    position: fixed;
    height: calc(100vh - 60px);
    width: 0;
    top: 60px;
    left: -50%;
    opacity: 0;
    transition: .3s;
    padding-top: 16px;
    padding-left: 1.25rem;
    background-color: #4d4c4c;
    opacity: 0;
    z-index: 99999;
}
.sp_ham_menu.active {
    left: 0;
    width: 50%;
    opacity: .9;
}
.sp {
    display: none;
}
.sp_ham_menu ul.header_btm_cont {
    border: none;
    background-color: transparent;
}

.sp_ham_menu ul.header_btm_cont li {
    font-size: 16px;
    border: none;
    margin: 16px 0;
}
.sp_ham_menu ul.header_btm_cont li a {
    color: #fff;
}

@media screen and (max-width: 767px) {
    .pc_none_item {
        display: inherit;
    }
    .sp_none_item {
        display: none;
    }
    .sm_inherit {
        display: inherit;
    }

    .pc_header {
        min-width: 100%;
    }
    .main_column_pc {
        min-width: 100%;
    }

    .sm_canter_item {
        text-align: center;
    }

    ul.header_btm_cont li:last-child {
        border-right: none;
    }
    ul.header_btm_cont li:first-child {
        border-left: none;
    }

    .header_btm_line {
        display: none;
    }

    .header_logo {
        display: flex;
        align-items: center;
        padding: 10px 0;
    }
    .front_header img {
        height: 30px;
        padding-left: 20px;
    }
    .sp {
        display: inherit;
    }
}