@charset "UTF-8";
/* =====================================
	全体設定
===================================== */

:root {
    --kenpo-red: #BA0000;
    --hoken-green: #00AFC8;
    --admin-navy: #01205E;
}

html{
    font-size: 62.5%;
}

a{
	color: #222222;
	text-decoration: none;
    transition: 0.3s all ease;
}

a:hover{
	opacity: 0.6;
}

.sp{
	display: none !important;
}

body{
	position: relative;
	margin: 0 auto;
	font-size: 1.6rem;
    font-weight: normal;
	font-family: "Noto Sans JP", serif;
	color: #222222;
    line-height: 1.875;
	text-align: left;
    letter-spacing: 0.08em;
}

.animated{
    opacity: 0;
    -webkit-animation-duration: .7s;
    animation-duration: .7s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

img { max-width: 100%; }

@media (min-width: 769px) {
    a[href*="tel:"] {
    pointer-events: none;
    cursor: text;
    text-decoration: none !important;
    }
}

.mingzat-regular{
    font-family: "Mingzat", sans-serif;
    font-weight: 400;
    font-style: normal;
}


/* =====================================
	module
===================================== */

.ttl-type01{
    width: 100%;
    background: var(--kenpo-red);
    padding: 75px 0;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.125;
    color: #fff;
    text-align: center;
}

.ttl-type02{
    width: 100%;
    background: #F2FAFB;
    padding: 16px 16px 16px 39px;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.125;
    position: relative;
    border-radius: 8px;
}

.ttl-type02::before{
    content: "";
    width: 5px;
    height: 32px;
    background: var(--hoken-green);
    position: absolute;
    top: 50%;
    left: 22px;
    transform: translateY(-50%);
    border-radius: calc(5px / 2);
}

.ttl-type03{
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
    padding-bottom: 11px;
    width: 100%;
    border-bottom: 2px solid #E4E4E4;
    position: relative;
}

.ttl-type03::before{
    content: "";
    width: 180px;
    height: 2px;
    background: var(--kenpo-red);
    position: absolute;
    bottom: -2px;
    left: 0;
}

.ttl-type06{
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
    padding-bottom: 11px;
    width: 100%;
    border-bottom: 2px solid #E4E4E4;
    position: relative;
}

.ttl-type06::before{
    content: "";
    width: 180px;
    height: 2px;
    background: var(--hoken-green);
    position: absolute;
    bottom: -2px;
    left: 0;
}

.ttl-type04{
    width: 100%;
    background: var(--kenpo-red);
    padding: 75px 0;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.125;
    color: #fff;
    text-align: center;
}

.ttl-type05{
    width: 100%;
    background: var(--hoken-green);
    padding: 75px 0;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.125;
    color: #fff;
    text-align: center;
}

.btn-type01{
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    display: block;
    padding: 27px 0;
    text-align: center;
    font-size: 2.0rem;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    border-radius: 4px;
    background: var(--kenpo-red) url("../img/common/icon02.svg") no-repeat center right 28px;
    position: relative;
}

.btn-type01.is-inactive,
.btn-type04.is-inactive{
    background: #999999 url("../img/common/icon02.svg") no-repeat center right 28px;
    pointer-events: none;
}

.btn-type02{
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
    display: block;
    padding: 27px 0;
    text-align: center;
    font-size: 2.0rem;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    border-radius: 4px;
    background: var(--hoken-green);
    position: relative;
}

.btn-type03{
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
    display: block;
    padding: 27px 0;
    text-align: center;
    font-size: 2.0rem;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    border-radius: 4px;
    background: var(--hoken-green) url("../img/common/icon16.svg") no-repeat center right 28px;
    position: relative;
}

.btn-type04{
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    display: block;
    padding: 27px 0;
    text-align: center;
    font-size: 2.0rem;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    border-radius: 4px;
    background: var(--hoken-green) url("../img/common/icon02.svg") no-repeat center right 28px;
    position: relative;
}

.btn-type05{
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    display: block;
    padding: 27px 0;
    text-align: center;
    font-size: 2.0rem;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    border-radius: 4px;
    background: var(--admin-navy) url("../img/common/icon02.svg") no-repeat center right 28px;
    position: relative;
}

.btn-type06{
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
    display: block;
    padding: 27px 0;
    text-align: center;
    font-size: 2.0rem;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    border-radius: 4px;
    background: var(--admin-navy);
    position: relative;
}



/* =====================================
	footer
===================================== */

footer{
    width: 100%;
    padding: 82px 0 54px;
}

footer img{
    margin: 0 auto;
}



/* サイドバー サブメニュー */
main .side-nav ul li.has-submenu > .submenu-toggle{
    font-size: 1.6rem;
    line-height: 3;
    padding-left: 31px;
    background: url("../img/common/icon09.svg") no-repeat center left;
    cursor: pointer;
    display: block;
}

main .side-nav ul li.has-submenu .submenu{
    display: none;
    padding-left: 16px;
}

main .side-nav ul li.has-submenu.is-open .submenu{
    display: block;
}

main .side-nav ul li.has-submenu .submenu li a{
    font-size: 1.4rem;
    line-height: 2.5;
    padding-left: 15px;
    background: none;
}

main .side-nav ul li.has-submenu .submenu li.is-active a{
    font-weight: bold;
}

/* パスワード表示切り替え */
.password-field {
    position: relative;
    display: flex;
    align-items: center;
}
.password-field input {
    flex: 1;
    padding-right: 40px;
}
.toggle-password {
    position: absolute;
    right: 8px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: #888;
    display: flex;
    align-items: center;
}
.toggle-password:hover {
    color: #333;
}

@media screen and (max-width: 768px) {

}