html {
    scroll-behavior: smooth;
}

body {
    color: #363636;
    text-underline-offset: 0.2em;
    font-size: 16px;
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
}

header {
    border-bottom: solid 5px #295BA7;
    padding-bottom: 20px;
}

.header-box {
    position: relative;
    width: 1400px;
    margin: auto;
}

.header-main-box {
    width: 500px;
    margin: auto;
}

.header-main-box h1,
.header-main-box a {
    display: block;
    padding: 25px;
}

.header-main-img {}

.header-menu {}

.header-menu ul {
    display: flex;
    justify-content: center;
    list-style-type: none;
    gap: 1em;
}

.header-menu li {}

.header-menu li a {
    position: relative;
    color: #295BA7;
    text-decoration: none;
    font-size: 1.3em;
    padding: 0 1em;
    padding-bottom: 5px;
    border-bottom: solid 4px #fff;
}

.header-menu li a:hover {
    border-bottom: solid 4px #B3EBFF;
}

/* .header-menu li:first-child a::after {
    content: "";
    height: 1em;
    width: 0px;
    border-right: dotted 1px #295BA7;
    position: absolute;
    right: -0.4em;
    top: 0.25em;
} */

.header-sub-menu {
    position: absolute;
    right: 10px;
    top: 90px;
}

.header-sub-menu ul {
    list-style-type: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.header-sub-menu li {}

.header-sub-menu li a {
    color: #6C6868;
    text-decoration: none;
    font-size: 1.2em;
    display: flex;
    align-items: center;
    gap: 0.5em;
}

.header-sub-menu li a:hover span {
    text-decoration: underline;
}

.header-sub-menu li a img {
    width: 2em;
}

.main-v-wrap {
    background-color: #B3EBFF;
}

.main-v-box {
    width: 1400px;
    margin: auto;
    display: flex;
    gap: 10px;
    padding: 20px 0;
}

.main-v-left {
    width: 40%;
    background-color: #FEFFDF;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
}

.main-v-left img {
    width: 70%;
}

.main-v-right {
    width: 60%;
}

.main-v-right img {
    border-radius: 15px;

}

.main-msg-nav {
    background-color: #295BA7;
}

.main-msg-box {
    position: relative;
    width: 1400px;
    margin: auto;
    color: #fff;
    padding: 1.5em;
    text-align: center;
}

.main-msg-box::after {
    content: "";
    height: 2em;
    width: 2em;
    background-color: #295BA7;
    display: block;
    position: absolute;
    left: calc(50% - 1em);
    transform: rotate(45deg);
    bottom: -1em;
}

.main-msg-box p {}

.main-nav-box {
    background-image: url(../img/yellow_bg.jpg);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4%;
    gap: 3%;
}

.main-nav-a,
.main-nav-s {
    color: #fff;
    text-decoration: none;
    padding: 0.5em 0;
    font-size: 1.5em;
    border-radius: 100px;
    width: 12em;
    text-align: center;
    align-items: center;
    gap: 1em;
    display: flex;
    justify-content: center;
}

.main-nav-a:hover,
.main-nav-s:hover {
    opacity: 0.8;
}

.main-nav-a i,
.main-nav-s i {
    font-size: 0.6em;
}

.main-nav-s {
    background: #FF3F75;
}

.main-nav-a {
    background: #FF710C;
}

main {
    background-color: #F9F9F9;
}

section {
    width: 1400px;
    margin: 5% auto;
    padding: 0 5%;
}

.main-h2 {
    color: #295BA7;
    background: #fff;
    border: solid 2px #295BA7;
    border-radius: 100px;
    text-align: center;
    padding: 0.8em;
    font-size: 1.4em;
}

.main-h2-text {
    margin: 0 1em;
}

.con-box {
    position: relative;
    background: #fff;
    padding: 8%;
    margin: 3% 0;
    border-radius: 15px;
    box-shadow: 0px 0px 5px 2px #ccc;
}

.con-h3 {
    color: #FF710C;
    border-top: solid 3px #FF710C;
    border-bottom: solid 3px #FF710C;
    width: fit-content;
    padding: 0.8em 1em;
    font-size: 1.5em;
    font-weight: 500;
    margin: auto;
}

.con-h3-pink {
    color: #FF3F75;
    border-top: solid 3px #FF3F75;
    border-bottom: solid 3px #FF3F75;
}

.con-msg {
    text-align: center;
    margin: 0.5em;
    font-size: 1.2em;
    font-weight: 500;
}

.content {
    display: flex;
    gap: 5%;
    align-items: flex-start;
    margin-top: 5%;
}

.con-left {
    width: 68%;
}

.con-table {
    border-collapse: collapse;
    font-size: 1.1em;
}

.con-table tr {
    border-bottom: solid 1px #BFBFBF;
}

.con-table th {
    padding: 1em;
    width: 10em;
}

.con-table th span {
    background: linear-gradient(transparent 65%, #FFFB83 65%);
    padding: 0 0.5em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    font-weight: 500;
}

.con-table td {
    padding: 1em;
}

.con-dl {}

.con-dl>div {
    margin-bottom: 0.5em;
}

.con-dl>div>dt {
    line-height: 1.3em;
}

.con-dl>div>dd {
    line-height: 1.3em;
    padding-left: 1em;
}

.red {
    color: #FF2020;
}

.con-right {
    width: 27%;
}

.btn-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3%;
    margin-top: 5%;
}

.btn {
    text-decoration: none;
    border: solid 2px #295BA7;
    padding: 0.5em 5em;
    font-weight: 500;
    border-radius: 3px;
    display: flex;
    align-items: center;
    gap: 1em;
}

.btn:hover {
    opacity: 0.8;
}

.btn-1 {
    color: #295BA7;
}

.btn-2 {
    background: #295BA7;
    color: #fff;
}

.btn i {
    font-size: 0.6em;
}

.btn span {
    padding-bottom: 0.1em;
}

.last-msg-wrap {
    background-color: #FFFFC0;
}

.last-msg-wrap section {
    margin-bottom: 0;
}

.last-msg-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3%;
    padding: 2% 0;
}

.last-msg-left {
    width: 40%;
}

.last-msg-right {
    width: 57%;
}

.msg-h2 {
    color: #295BA7;
    font-weight: 500;
    margin-bottom: 1.5em;
}

.msg-p {
    line-height: 1.3em;
    margin-bottom: 0.5em;
}

footer {}

.footer-box {
    width: 1400px;
    margin: auto;
    padding: 3%;
    margin-bottom: 1%;
}

.footer-title {
    width: 500px;
    margin: auto;
    padding: 25px;
}

footer address {
    font-size: 1.1em;
    font-style: normal;
    font-weight: 500;
    width: 300px;
    margin: auto;
    margin-bottom: 0.5em;
}

.tel-box {
    font-size: 1.1em;
    font-weight: 500;
    width: 300px;
    margin: auto;
}

.tel-box>div {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin-bottom: 0.5em;
}

.tel-box>div>span {
    color: #fff;
    font-size: 0.8em;
    padding: 0.1em 0;
    width: 3em;
    text-align: center;
    border-radius: 3px;
}

.tel-txt {
    background-color: #00A900;
}

.fax-txt {
    background-color: #00A4A9;
}

.tel-box a {
    color: #363636;
    text-decoration: none;
}

.copy {
    background-color: #295BA7;
    color: #fff;
    text-align: center;
    font-size: 0.9em;
}

#pageTop {
    position: fixed;
    bottom: 35px;
    right: 20px;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}

#pageTop.show {
    opacity: 1;
    visibility: visible;
}

#pageTop:hover {
    transform: scale(1.05);
}

/* 中ページ */
.main-msg-box h1 {
    font-size: 1.4em;
    font-weight: 500;
    padding: 1em 0;
}

.naka-content {
    margin-top: 5%;
}

.naka-content .con-table {
    width: 100%;
    word-break: break-all;
}

.naka-con-image {
    position: absolute;
    right: 2%;
    top: 2%;
    width: 20%;
    border-radius: 15px;
}

.place {
    list-style: none;
}

.place li {
    margin-bottom: 0.7em;
    line-height: 1.3em;
}

.price {
    padding-left: 3em;
}

.last-section {
    margin-bottom: 0;
}

.naka-main {
    padding-bottom: 5%;
}

.pdf-box {
    display: flex;
    align-items: center;
    align-items: flex-start;
    gap: 2%;
    padding: 5% 10%;
}

.pdf-link {
    width: 19%;
    color: #454545;
}

.pdf-link:hover {
    text-decoration: none;
}

.pdf-link img {
    width: 50%;
    margin: auto;
}

.pdf-link p {
    text-align: center;
    margin-top: 0.2em;
}

.header-menu li.now-page a {
    border-bottom: solid 4px #B3EBFF;
}

.main-benefits-box {
    background-image: url(../img/benefits_bg.jpg);
    text-align: center;
    padding: 3%;
}

.main-benefits-box p {
    color: #295BA7;
    font-size: 1.3em;
    font-weight: 500;
}

.salary-table {
    border-collapse: collapse;
    width: 80%;
    margin: auto;
    font-size: 1.1em;
}

.salary-table tr {
    border-bottom: solid 1px #A6A6A6;
}

tr.salary-table-first {
    border: 0;
}

.salary-th-a {
    width: 10%;
    font-weight: 500;
}

.salary-th-s,
.salary-th-y {
    padding-bottom: 1em;
}

.salary-th-s span,
.salary-th-y span {
    color: #fff;
    padding: 0.2em 3em;
    font-size: 1.2em;
    font-weight: 500;
    border-radius: 100px;
}

.salary-th-s span {
    background: #295BA7;
}

.salary-th-y span {
    background: #FF3F75;
}

.salary-table td {
    padding: 1em;
    width: 45%;
    text-align: center;
}

td.blank {
    width: 10%;
}

.first-price-td {
    position: relative;
}

.first-price-td::after {
    position: absolute;
    content: "\f04b";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #295BA7;
    right: -0.5em;
    font-size: 0.7em;
}

.salary-yen {
    font-size: 0.8em;
    margin-left: 0.2em;
}

.benefits-content {
    margin: 0;
}

.contact-table {
    width: 100%;
    border-collapse: collapse;
}

.contact-th {
    padding: 1em;
    border: solid 1px #ccc;
    background: #295ba7;
    color: #fff;
    font-weight: 500;
    font-size: 1.1em;
}

.contact-th .notice {
    background-color: #fff8c4;
    color: #ff0000;
    font-size: 0.75em;
    padding: 0.05em 0.3em;
    border-radius: 4px;
    margin-left: 1em;
    white-space: nowrap;
}

.contact-table td {
    padding: 1em;
    border: solid 1px #ccc;
    word-break: break-all;
}

.contact-text-input {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding-left: 1em;
    padding-right: 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    background: #eaedf2;
}

.contact-label {}

.contact-select {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding-left: 1em;
    padding-right: 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    background: #eaedf2;
}

.contact-textarea {
    border: 1px solid #ddd;
    border-radius: 6px;
    height: 200px;
    flex: 1;
    width: 100%;
    background: #eaedf2;
    padding: 0.5em 1em;
}

.input-set {
    margin-bottom: 0.5em;
}

.form-button-box {
    display: flex;
    justify-content: center;
    gap: 3%;
}

.submit-btn {
    padding: 1em 5em;
    margin-top: 3%;
    display: block;
    background: #295ba7;
    color: #fff;
    border-radius: 5px;
}

.submit-btn:hover {
    opacity: 0.8;
}

.form-back-btn {
    padding: 1em 5em;
    margin-top: 3%;
    display: block;
    background: #fff;
    color: #295ba7;
    border: solid 2px #295ba7;
    border-radius: 5px;
}

.form-back-btn:hover {
    opacity: 0.8;
}

.contact-msg-box {
    padding: 2% 5%;
    background: #d6e6ff;
}

.contact-msg-title {
    font-weight: 500;
    font-size: 1.2em;
    margin-bottom: 0.3em;
}

.contact-msg {}

.form-error-msg {
    margin-bottom: 1em;
}

.error_messe {
    color: #f00;
}

.form-back-top {
    color: #295ba7;
}

.form-check-msg {
    margin-bottom: 1em;
    color: #f00;
}