@charset "UTF-8";
/* PC ================================================== */
@media all and (min-width:720px) {
    body {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-optical-sizing: auto;
        font-style: normal;
        font-weight: 500;
        background: #F2F2F2;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-feature-settings: "halt"1;
        font-feature-settings: "palt";
        -webkit-text-size-adjust: 100%;
        width: 100%;
        overflow-x: hidden;
        text-align: justify;
        color: #113962;
        letter-spacing: -0.02em;
    }
    .loading {
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0px;
        left: 0px;
        background: #fff;
        z-index: 10004;
    }
    .loader {
        position: fixed;
        top: 50%;
        left: 50%;
        width: 160px;
        height: 160px;
        margin-top: -80px;
        margin-left: -80px;
        text-align: center;
        z-index: 10005;
    }
    .sp {
        display: none;
    }
    #menu {
        display: none;
    }
    #wrap {
        display: flex;
        justify-content: space-between;
        max-width: 1200px;
        margin: auto;
    }
    header {
        width: 216px;
        margin: 0 48px;
        padding-top: 72px;
    }
    header > div {
        position: sticky;
        top: 72px;
        left: 0;
    }
    h1 {
        margin-bottom: 56px;
    }
    header nav p {
        font-size: 16px;
        margin-bottom: 20px;
    }
    header nav p a {
        font-weight: 500;
        color: #113962;
        position: relative;
    }
    header nav ul#nav1 {
        margin-bottom: 28px;
        padding-left: 16px;
    }
    header nav ul#nav1 li {
        font-size: 15px;
    }
    header nav ul#nav1 li:not(:last-child) {
        margin-bottom: 16px;
    }
    header nav p a, header nav ul li a, #information li h3 a {
        font-weight: 500;
        color: #113962;
        position: relative;
    }
    header nav p a::before, header nav ul li a::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff;
        display: block;
        z-index: -1;
        -webkit-transform-origin: left top;
        -ms-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transition: transform .3s cubic-bezier(0.33, 1, 0.68, 1);
        transition: transform .3s cubic-bezier(0.33, 1, 0.68, 1);
    }
    #information li h3 a::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #000;
        display: block;
        z-index: 1;
        opacity: .08;
        -webkit-transform-origin: left top;
        -ms-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transition: transform .3s cubic-bezier(0.33, 1, 0.68, 1);
        transition: transform .3s cubic-bezier(0.33, 1, 0.68, 1);
    }
    header nav p a:hover::before, header nav ul li a:hover::before, #information li h3 a:hover::before {
        -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        transform: scale(1, 1)
    }
    
    
    
    header nav {
        margin-bottom: 32px;
    }
    header nav ul#nav2 {
        padding-top: 28px;
        position: relative;
    }
    header nav ul#nav2::before {
        content: '';
        position: absolute;
        top: 0;
        width: 100%;
        height: 1px;
        background: linear-gradient(to right, #113962 0%, #113962 12%, #D0D0D0 12%, #D0D0D0 100%);
    }
    header nav ul#nav2 li {
        font-size: 16px;
    }
    header nav ul#nav2 li:not(:last-child) {
        margin-bottom: 16px;
    }
    #address {
        padding: 20px;
        background: #fff;
        border-radius: 8px;
        border: 1px solid #113963;
        margin-bottom: 28px;
    }
    #address h2 {
        font-weight: 700;
        font-size: 13px;
        margin-bottom: 10px;
    }
    #address p {
        font-weight: 500;
        font-size: 13px;
        line-height: 1.8em;
        margin-bottom: 12px;
    }
    #address p a {
        font-weight: 700;
        text-decoration: underline;
        color: #113962;
    }
    #address p a:hover {
       text-decoration: none;
    }
    #address ul li {
        font-size: 13px;
        line-height: 1em;
    }
    #address ul li:not(:last-child) {
        margin-bottom: 4px;
    }
    #address ul li span {
        font-size: 11px;
        display: inline-block;
        text-align: center;
        border-radius: 2px;
        background: #113963;
        color: #fff;
        line-height: 1em;
        padding: 2px 5px 4px 5px;
        margin-right: 6px;
    }
    
    #cp {
        font-weight: 500;
        font-size: 13px;
    }
    #spcp {
        display: none;
    }
    
    main {
        width: 560px;
        margin: 80px 0 64px;
        position: relative;
        box-sizing: border-box;
        border: 1px solid #113963;
        border-radius: 16px;
    }
    aside {
        width: 216px;
        margin: 0 48px;
        padding-top: 76px;
    }
    aside > div {
        position: sticky;
        top: 76px;
        left: 0;
    }
    aside h4 {
        font-weight: 700;
        font-size: 16px;
        margin-bottom: 24px;
    }
    aside ul li {
        margin-bottom: 20px;
        padding-bottom: 20px;
        position: relative;
    }
    aside ul li::before {
        content: '';
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 1px;
        background: linear-gradient(to right, #113962 0%, #113962 12%, #D0D0D0 12%, #D0D0D0 100%);
    }
    aside p {
        font-size: 12px;
        margin-bottom: 6px;
    }
    aside p span {
        font-size: 10px;
    }
    aside h5 {
        font-size: 14px;
        line-height: 1.6em;
    }
    aside h5 a {
        font-weight: 500;
        color: #113962;
    }
    aside h5 a:hover {
        color: #B4BFC9;
    }
    #link {
        width: 460px;
        position: fixed;
        top: 57px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 3;
    }
    #link ul {
        display: flex;
        justify-content: space-between;
    }
    #link ul li {
        width: 224px;
        line-height: 44px;
        border-radius: 24px;
        text-align: center;
        font-size: 14px;
        letter-spacing: -0.04em;
    }
    #link ul li a {
        height: 48px;
        position: relative;
        color: #113962;
        display: block;
        padding-left: 8px;
        border: 1px solid #113962;
        border-radius: 24px;
        box-sizing: border-box;
        background: #fff;
    }
    #link ul li a:before {
        content: '';
        background: url("../img/arrow_1.svg") no-repeat;
        display: block;
        width: 15px;
        height: 12px;
        background-size: cover;
        position: absolute;
        top: 16px;
        left: 18px;
        transition: .2s;
    }
    #link ul li a:hover {
        background: #F5F5F5;
        border: 1px solid #F5F5F5;
    }
    #link ul li a:hover:before {
        left: 22px;
        transition: .2s;
    }
    #fv img {
        border-radius: 16px 16px 0 0;
    }
    #content {
        padding: 32px;
        background: #fff;
        border-radius: 16px;
    }
    #content.home {
        position: relative;
    }
    #animation1 {
        width: 424px;
        position: absolute;
        top: 224px;
        right: -202px;
    }
    
    #content p {
        font-size: 16px;
        line-height: 2em;
        margin-bottom: 20px;
    }
    #service-list {
        margin-top: 40px;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    #service-list li {
        width: 236px;
        margin-bottom: 24px;
    }
    #service-list li div {
        margin-bottom: 16px;
    }
    #service-list li img {
        border-radius: 8px;
    }
    #service-list li h3 {
        font-size: 16px;
        font-weight: 500;
        position: relative;
    }
    #service-list li h3:before {
        content: '';
        background: url("../img/arrow_2.svg") no-repeat;
        display: block;
        width: 14px;
        height: 14px;
        background-size: cover;
        position: absolute;
        top: 5px;
        right: 0;
        transition: .2s;
    }
    #service-list li a {
        font-weight: 500;
        color: #113962;
    }
    #service-list li a:hover img {
        filter: brightness(.9);
    }
    #service-list li a:hover h3:before {
        right: -4px;
    }
    
    #content.under {
        padding: 88px 0 0 0;
        min-height: 641px;
        box-sizing: border-box;
    }
    #content.under > div {
        padding: 48px 32px;
    }
    #content.under h2 {
        text-align: center;
        font-size: 18px;
        position: relative;
        height: 32px;
    }
    #content.under h2:before {
        content: '';
        background: #113963;
        width: 100%;
        height: 1px;
        position: absolute;
        top: 16px;
        left: 0;
        z-index: 1;
    }
    #content.under h2 span {
        line-height: 30px;
        height: 32px;
        background: #fff;
        font-weight: 700;
        padding: 0 32px;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: 2;
        display: inline-block;
        border-left: 1px solid #113963;
        border-right: 1px solid #113963;
    }
    #content.under h3 {
        margin-bottom: 16px;
    }
    #content.under h3 span {
        font-size: 13px;
    }
    .image {
        margin-bottom: 28px;
    }
    .image img {
        border-radius: 8px;
    }
    #photo {
        margin-top: 40px;
    }
    .slick-prev, .slick-next {
        font-size: 0;
        line-height: 0;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        display: block;
        width: 32px;
        height: 32px;
        cursor: pointer;
        color: transparent;
        border: none;
        outline: none;
        z-index: 1;
        background: none;
    }
    .slick-prev {
        left: -16px;
    }
    .slick-next {
        right: -16px;
    }
    .slick-prev:before {
        content: "";
        width: 32px;
        height: 32px;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        background: url("../img/arrow_3_left.svg") no-repeat center;
        background-size: cover;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        transition: .2s;
    }
    .slick-next:before {
        content: "";
        width: 32px;
        height: 32px;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        background: url("../img/arrow_3_right.svg") no-repeat center;
        background-size: cover;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        transition: .2s;
    }
    .slick-prev:hover:before {
        left: -4px;
        transition: .2s;
    }
    .slick-next:hover:before {
        right: -4px;
        transition: .2s;
    }
    table {
        margin-bottom: 40px;
    }
    table th {
        font-size: 15px;
        font-weight: 500;
        border-bottom: 1px solid #113963;
        padding: 20px 20px 20px 0;
    }
    table td {
        font-size: 15px;
        border-bottom: 1px solid #D0D0D0;
        padding: 20px 20px 20px 0;
    }
    #map {
        position: relative;
        width: 100%;
        padding-top: 56.25%;
        /* 16:9のアスペクト比 */
        height: 0;
    }

    #map iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 8px;
    }
    
    #service {
        padding: 40px 0;
        border-top: 1px solid #113962;
        border-bottom: 1px solid #113962;
        margin: 32px 0;
    }
    #service li {
        margin-bottom: 40px;
        padding-bottom: 32px;
        position: relative;
    }
    #service li:not(:last-child)::after{
        content: "";
        background-image: linear-gradient(to right, #113962, #113962 2px, transparent 2px, transparent 2px);
        background-size: 5px 1px;
        background-repeat: repeat-x;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
    }
    #service li:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
    }
    #service li p:last-child {
        margin-bottom: 0;
    }
    #btn {
        width: 224px;
        line-height: 44px;
        border-radius: 24px;
        text-align: center;
        font-size: 14px;
        letter-spacing: -0.04em;
        margin: 32px auto 0;
    }
    #btn a {
        height: 48px;
        position: relative;
        color: #113962;
        display: block;
        padding-left: 8px;
        border: 1px solid #113962;
        border-radius: 24px;
        box-sizing: border-box;
        background: #fff;
    }
    #btn a:before {
        content: '';
        background: url("../img/arrow_1.svg") no-repeat;
        display: block;
        width: 15px;
        height: 12px;
        background-size: cover;
        position: absolute;
        top: 16px;
        left: 18px;
        transition: .2s;
    }
    #btn a:hover {
        background: #EBEAEA;
        border: 1px solid #F5F5F5;
    }
    #btn a:hover:before {
        left: 22px;
        transition: .2s;
    }
    #information {
        margin-bottom: 40px;
    }    
    #information li {
        margin-bottom: 24px;
        padding-bottom: 20px;
        position: relative;
    }
    #information li:last-child {
        margin-bottom: 0;
    }
    #information li:before {
        content: '';
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 1px;
        background: linear-gradient(to right, #113962 0%, #113962 12%, #D0D0D0 12%, #D0D0D0 100%);
    }
    #information li p {
        font-size: 14px;
        margin-bottom: 8px;
        line-height: 1em;
    }
    #information li p span {
        font-size: 11px;
    }
    #information li h3 {
        font-size: 16px;
        line-height: 1.8em;
        margin-bottom: 0 !important;
    }
    #information li h3 a {
        color: #113962;
        font-weight: 500;
    }
    p#date {
        font-size: 14px;
        margin-bottom: 8px;
        line-height: 1em;
    }
    p#date span {
        font-size: 11px;
    }
    #entry h3 {
        color: #113962;
        font-weight: 500;
        font-size: 16px;
        line-height: 1.8em;
        margin-bottom: 24px !important;
        padding-bottom: 20px;
        position: relative;
    }
    #entry h3:before {
        content: '';
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 1px;
        background: linear-gradient(to right, #113962 0%, #113962 12%, #D0D0D0 12%, #D0D0D0 100%);
    }
    #entryarea {
        padding: 0 0 24px;
        border-bottom: 1px solid #D0D0D0;
        margin-bottom: 40px;
    }
    #entryarea p {
        font-size: 16px;
        line-height: 2em;
        margin-bottom: 20px;
    }
    #entryarea p:last-child {
        margin-bottom: 0;
    }
    #entryarea p img {
        margin-bottom: 24px;
        border-radius: 8px;
    }
    #txt p {
        font-size: 16px;
        line-height: 2em;
    }
    #telpc {
        margin: 32px 0 40px;
        position: relative;
    }
    #animation3 {
        width: 64px;
        position: absolute;
        top: 7px;
        left: 14px;
    }
    #telsp {
        display: none;
    }
    #form dt {
        margin-bottom: 8px;
    }
    #form dt span {
        font-size: 12px;
    }
    #form dd {
        margin-bottom: 16px;
    }
    #form p {
    margin-bottom: 0;    
    }
    input[type="text"], input[type="email"], input[type="tel"], textarea, select {
        background: #EBEBEB;
        border-radius: 8px;
        height: 48px;
        padding: 0 16px;
        font-size: 16px;
        width: 100%;
        box-sizing: border-box;
        font-family: "Zen Kaku Gothic New", sans-serif;
        color: #113962;
        letter-spacing: -0.02em;
    }
    input, button, select, textarea {
        -webkit-appearance: none;
        outline: none;
        border: none;
    }
    textarea {
        width: 100%;
        max-width: 100%;
        min-height: 240px;
        padding: 16px;
        box-sizing: border-box;
        line-height: 2em;
    }
    .wpcf7-not-valid-tip {
        font-size: 13px !important;
        color: #E35F5F !important;
        margin-top: 4px;
    }
    .wpcf7-response-output {
        border: 1px solid #E35F5F !important;
        color: #E35F5F;
        text-align: center;
        padding: 12px !important;
        border-radius: 4px;
        margin: 0 !important;
    }
    .wpcf7-spinner {
        margin: 16px 0 0 !important;
    }
    
    #pp {
        border: 1px solid #113963;
        border-radius: 8px;
        padding: 20px 24px 20px 20px;
        height: 270px;
        overflow-y: scroll;
    }
    #pp h3 {
        font-size: 13px;
        font-weight: 700;
        line-height: 1.8em;
        margin-bottom: 16px;
    }
    #pp p {
        font-size: 13px;
        font-weight: 500;
        line-height: 1.8em;
        margin-bottom: 16px;
        padding-left: 1em;
        text-indent: -1em;
    }
    #pp p:last-child {
        margin-bottom: 0;
    }
    #pp div {
        border-radius: 4px;
        background: #EBEBEB;
        padding: 16px;
        margin: 20px 0;
    }
    #pp div p {
        line-height: 1.6em;
        margin-bottom: 10px;
    }
    #pp div p:last-child {
        margin-bottom: 0;
    }
    #pp ul {
        margin-bottom: 16px;
    }
    #pp ul li {
        font-size: 13px;
        font-weight: 500;
        line-height: 1.8em;
        margin-bottom: 4px;
        padding-left: 1.4em;
        text-indent: -1em;
    }
    #send {
        width: 334px;
        border-radius: 24px;
        text-align: center;
        margin: 32px auto 0;
    }
    #send p {
        position: relative;
        line-height: 44px;
        font-size: 14px;
        letter-spacing: -0.04em;
        margin-bottom: 0;
    }
    #send p:before {
        content: '';
        background: url(../img/arrow_1.svg) no-repeat;
        display: block;
        width: 15px;
        height: 12px;
        background-size: cover;
        position: absolute;
        top: 18px;
        left: 18px;
        transition: .2s;
    }
    #send p:hover:before {
        left: 22px;
        transition: .2s;
    }
    #send p:hover input {
        background: #EBEAEA;
        border: 1px solid #F5F5F5;
        transition: .2s;
    }
    #send p input {
        height: 48px;
        color: #113962;
        display: block;
        padding-left: 8px;
        border: 1px solid #113962;
        border-radius: 24px;
        box-sizing: border-box;
        background: #fff;
        cursor: pointer;
        width: 100%;
        font-family: "Zen Kaku Gothic New", sans-serif;
        letter-spacing: -0.02em;
        transition: .2s;
    }
    .wp-pagenavi {
        display: flex;
        justify-content: flex-start;
    }
    .wp-pagenavi .current {
        width: 32px;
        height: 32px;
        display: block;
        border-radius: 16px;
        border: 1px solid #C9D3E2;
        box-sizing: border-box;
        text-align: center;
        line-height: 28px;
        font-size: 13px;
        font-weight: 500;
        background: #C9D3E2;
        color: #264E75;
        margin-right: 8px;
    }
    .wp-pagenavi .page {
        width: 32px;
        height: 32px;
        display: block;
        border-radius: 16px;
        border: 1px solid #113962;
        box-sizing: border-box;
        text-align: center;
        line-height: 28px;
        font-size: 13px;
        font-weight: 500;
        background: #fff;
        color: #113962;
        margin-right: 8px;
    }
    .wp-pagenavi .page:hover {
        background: #F5F5F5;
        border: 1px solid #F5F5F5;
    }
    
}
/* mobile ================================================== */
@media all and (max-width:719px) {
    body {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-optical-sizing: auto;
        font-style: normal;
        font-weight: 500;
        background: #F2F2F2;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-feature-settings: "halt"1;
        font-feature-settings: "palt";
        -webkit-text-size-adjust: 100%;
        width: 100%;
        overflow-x: hidden;
        color: #113962;
        letter-spacing: -0.02em;
    }
    .loading {
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0px;
        left: 0px;
        background: #fff;
        z-index: 10004;
    }
    .loader {
        position: fixed;
        top: 50%;
        left: 50%;
        width: 120px;
        height: 120px;
        margin-top: -60px;
        margin-left: -60px;
        text-align: center;
        z-index: 10005;
    }
    .pc {
        display: none;
    }
    
    #menu {
		width: 44px;
		height: 44px;
		position: fixed;
		top: 28px;
		right: 5%;
		z-index: 1000;
        background: #fff;
        border-radius: 22px;
	}
	#spbtn {
		width: 44px;
		height: 44px;
		cursor: pointer;
        position: fixed;
        top: 28px;
		right: 5%;
        z-index: 101;
	}
	#spbtn div {
		display: block;
		position: relative;
		width: 44px;
		height: 44px;
        border: 1px solid #113962;
        box-sizing: border-box;
        border-radius: 22px;
        background: #fff;
	}
	#spbtn span {
		width: 100%;
		height: 1px;
		background: #000;
		display: block;
	}
	#spbtn span:nth-child(1) {
		position: absolute;
		width: 20px;
		top: 19px;
		left: 11px;
		z-index: 10000;
/*		transition: .1s*/
	}
	#spbtn span:nth-child(2) {
		position: absolute;
		width: 20px;
		top: 24px;
		left: 11px;
		z-index: 10000;
/*		transition: .1s*/
	}
	#menu-local-trigger {
		width: 100%;
		height: 100%;
		background: #F2F2F2;
		padding-top: 80px;
		box-sizing: border-box;
		position: fixed;
		top: 0;
		right: -100%;
		z-index: 100;
/*		transition: .4s cubic-bezier(0.33, 1, 0.68, 1);*/
	}
	#nav-local {
		padding: 0 10%;
	}
	#nav-local > div > ul > li {
		font-size: 16px;
		line-height: 1em;
		margin-bottom: 24px;
	}
	#nav-local > div > ul > li:last-child {
		margin-bottom: 0;
	}
	#nav-local ul li a {
		text-decoration: none;
		color: #113962;
		position: relative;
		font-weight: 500;
	}
	.active #menu-local-trigger {
/*		transition: all .8s cubic-bezier(0.77, 0, 0.175, 1);*/
		right: 0;
	}
	.active #spbtn span:nth-child(1) {
		transform: rotate(45deg);
/*		transition: .1s;*/
		top: 21px;
	}
	.active #spbtn span:nth-child(2) {
/*		transition: .1s;*/
		transform: rotate(-45deg);
		top: 21px;
	}
    
    #wrap {
        padding-bottom: 32px;
    }
    header {
        width: 90%;
        margin: 0 auto 32px;
        padding-top: 28px;
    }
    header > div {
    }
    h1 {
        width: 184px;
    }
    #navpc {
        display: none;
    }
    header nav p {
        font-size: 16px;
        margin-bottom: 20px;
    }
    header nav p a {
        font-weight: 500;
        color: #113962;
        position: relative;
    }
    header nav ul#nav1 {
        margin-bottom: 28px;
        padding-left: 16px;
    }
    header nav ul#nav1 li {
        font-size: 14px;
    }
    header nav ul#nav1 li:not(:last-child) {
        margin-bottom: 14px;
    }
    header nav p a, header nav ul li a, #information li h3 a {
        font-weight: 500;
        color: #113962;
        position: relative;
    }
    header nav p a::before, header nav ul li a::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff;
        display: block;
        z-index: -1;
        -webkit-transform-origin: left top;
        -ms-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transition: transform .3s cubic-bezier(0.33, 1, 0.68, 1);
        transition: transform .3s cubic-bezier(0.33, 1, 0.68, 1);
    }
    #information li h3 a::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #000;
        display: block;
        z-index: 1;
        opacity: .08;
        -webkit-transform-origin: left top;
        -ms-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transition: transform .3s cubic-bezier(0.33, 1, 0.68, 1);
        transition: transform .3s cubic-bezier(0.33, 1, 0.68, 1);
    }
    header nav p a:hover::before, header nav ul li a:hover::before, #information li h3 a:hover::before {
        -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        transform: scale(1, 1)
    }
    
    
    
    header nav {
        margin-bottom: 32px;
    }
    header nav ul#nav2 {
        padding-top: 28px;
        position: relative;
    }
    header nav ul#nav2::before {
        content: '';
        position: absolute;
        top: 0;
        width: 100%;
        height: 1px;
        background: linear-gradient(to right, #113962 0%, #113962 12%, #D0D0D0 12%, #D0D0D0 100%);
    }
    header nav ul#nav2 li {
        font-size: 16px;
    }
    header nav ul#nav2 li:not(:last-child) {
        margin-bottom: 20px;
    }
    #address {
        display: none;
    }
    #address-sp {
        padding: 14px;
        background: #fff;
        border-radius: 6px;
        border: 1px solid #113963;
        margin-top: 32px;
    }
    #address-sp h2 {
        font-weight: 500;
        font-size: 13px;
        margin-bottom: 4px;
    }
    #address-sp p {
        font-weight: 500;
        font-size: 13px;
        line-height: 1.6em;
        margin-bottom: 8px;
        text-align: left;
    }
    #address-sp p a {
        font-weight: 700;
        text-decoration: underline;
        color: #113962;
    }
    #address-sp ul {
        display: flex;
        justify-content: flex-start;
    }
    #address-sp ul li {
        font-size: 13px;
        line-height: 1em;
        margin-right: 12px;
    }
    #address-sp ul li:not(:last-child) {
        margin-bottom: 4px;
    }
    #address-sp ul li span {
        font-size: 10px;
        display: inline-block;
        text-align: center;
        border-radius: 2px;
        background: #113963;
        color: #fff;
        line-height: 1em;
        padding: 2px 5px 4px 5px;
        margin-right: 6px;
    }
    
    #cp {
        display: none;
    }
    #spcp {
        font-weight: 500;
        font-size: 12px;
        margin-bottom: 0;
        letter-spacing: 0;
    }
    
    main {
        width: 94%;
        margin: 0 auto 24px;
        position: relative;
        box-sizing: border-box;
        border: 1px solid #113963;
        border-radius: 16px;
    }
    aside {
        width: 94%;
        margin: 0 auto;
    }
    aside div {
        display: none;
    }
    aside h4 {
        font-weight: 700;
        font-size: 15px;
        margin-bottom: 16px;
    }
    aside ul {
        margin-bottom: 40px;
    }
    aside ul li {
        margin-bottom: 20px;
        padding-bottom: 16px;
        position: relative;
    }
    aside ul li:last-child {
        margin-bottom: 0;
    }
    aside ul li::before {
        content: '';
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 1px;
        background: linear-gradient(to right, #113962 0%, #113962 12%, #D0D0D0 12%, #D0D0D0 100%);
    }
    aside p {
        font-size: 12px;
        margin-bottom: 2px;
    }
    aside p span {
        font-size: 10px;
    }
    aside h5 {
        font-size: 15px;
        line-height: 1.8em;
    }
    aside h5 a {
        font-weight: 500;
        color: #113962;
    }
    aside h5 a:hover {
        color: #B4BFC9;
    }
    #link {
        width: 90%;
        position: fixed;
        top: 77px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 3;
        
        display: none;
    }
    #link ul {
        display: flex;
        justify-content: space-between;
    }
    #link ul li {
        width: 49%;
        line-height: 36px;
        border-radius: 24px;
        text-align: center;
        font-size: 13px;
        letter-spacing: -0.06em;
    }
    #link ul li a {
        height: 40px;
        position: relative;
        color: #113962;
        display: block;
        padding-left: 8px;
        border: 1px solid #113962;
        border-radius: 24px;
        box-sizing: border-box;
        background: #fff;
    }
    #link ul li a:before {
        content: '';
        background: url(../img/arrow_1.svg) no-repeat;
        display: block;
        width: 12px;
        height: 10px;
        background-size: cover;
        position: absolute;
        top: 13px;
        left: 10px;
        transition: .2s;
    }
    #link ul li a:hover {
        background: #F5F5F5;
        border: 1px solid #F5F5F5;
    }
    #link ul li a:hover:before {
        left: 22px;
        transition: .2s;
    }
    #fv img {
        border-radius: 16px 16px 0 0;
    }
    #content {
        padding: 24px;
        background: #fff;
        border-radius: 16px;
    }
    #animation1 {
        width: 100%;
        margin-bottom: 16px;
    }
    #content p {
        font-size: 15px;
        line-height: 1.8em;
        margin-bottom: 16px;
    }
    #content.home p br {
        display: none;
    }
    #service-list {
        margin-top: 24px;
    }
    #service-list li {
        width: 100%;
        margin-bottom: 24px;
    }
    #service-list li:last-child {
        margin-bottom: 0;
    }
    #service-list li div {
        margin-bottom: 12px;
    }
    #service-list li img {
        border-radius: 6px;
    }
    #service-list li h3 {
        font-size: 15px;
        font-weight: 500;
        position: relative;
    }
    #service-list li h3:before {
        content: '';
        background: url("../img/arrow_2.svg") no-repeat;
        display: block;
        width: 14px;
        height: 14px;
        background-size: cover;
        position: absolute;
        top: 5px;
        right: 0;
        transition: .2s;
    }
    #service-list li a {
        font-weight: 500;
        color: #113962;
    }
    #service-list li a:hover img {
        filter: brightness(.9);
    }
    #service-list li a:hover h3:before {
        right: -4px;
    }
    
    #content.under {
        padding: 32px 0 0 0;
        box-sizing: border-box;
    }
    #content.under > div {
        padding: 24px 24px 32px 24px;
    }
    #content.under h2 {
        text-align: center;
        font-size: 16px;
        position: relative;
        height: 32px;
    }
    #content.under h2:before {
        content: '';
        background: #113963;
        width: 100%;
        height: 1px;
        position: absolute;
        top: 16px;
        left: 0;
        z-index: 1;
    }
    #content.under h2 span {
        line-height: 30px;
        height: 32px;
        background: #fff;
        font-weight: 700;
        padding: 0 16px;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: 2;
        display: inline-block;
        border-left: 1px solid #113963;
        border-right: 1px solid #113963;
    }
    #content.under h2 span#ct {
        box-sizing: border-box;
        padding: 0 8px;
        width: 54%;
    }
    #content.under h3 {
        margin-bottom: 10px;
        font-size: 15px;
        line-height: 1.8em;
    }
    #content.under h3 span {
        font-size: 10px;
    }
    .image {
        margin-bottom: 20px;
    }
    .image img {
        border-radius: 6px;
    }
    #photo {
        margin-top: 32px;
    }
    .slick-prev, .slick-next {
        font-size: 0;
        line-height: 0;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        display: block;
        width: 32px;
        height: 32px;
        cursor: pointer;
        color: transparent;
        border: none;
        outline: none;
        z-index: 1;
        background: none;
    }
    .slick-prev {
        left: -16px;
    }
    .slick-next {
        right: -16px;
    }
    .slick-prev:before {
        content: "";
        width: 32px;
        height: 32px;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        background: url("../img/arrow_3_left.svg") no-repeat center;
        background-size: cover;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        transition: .2s;
    }
    .slick-next:before {
        content: "";
        width: 32px;
        height: 32px;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        background: url("../img/arrow_3_right.svg") no-repeat center;
        background-size: cover;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        transition: .2s;
    }
    .slick-prev:hover:before {
        left: -4px;
        transition: .2s;
    }
    .slick-next:hover:before {
        right: -4px;
        transition: .2s;
    }
    table {
        margin-bottom: 40px;
    }
    table th {
        font-size: 13px;
        font-weight: 500;
        border-bottom: 1px solid #113963;
        padding: 16px 12px 16px 0;
    }
    table td {
        font-size: 13px;
        border-bottom: 1px solid #D0D0D0;
        padding: 16px 0;
    }
    #map {
        position: relative;
        width: 100%;
        padding-top: 56.25%;
        /* 16:9のアスペクト比 */
        height: 0;
    }

    #map iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 8px;
    }
    
    #service {
        padding: 32px 0;
        border-top: 1px solid #113962;
        border-bottom: 1px solid #113962;
        margin: 24px 0;
    }
    #service li {
        margin-bottom: 32px;
        padding-bottom: 24px;
        position: relative;
    }
    #service li:not(:last-child)::after{
        content: "";
        background-image: linear-gradient(to right, #113962, #113962 2px, transparent 2px, transparent 2px);
        background-size: 5px 1px;
        background-repeat: repeat-x;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
    }
    #service li:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
    }
    #service li p:last-child {
        margin-bottom: 0;
    }
    #btn {
        width: 224px;
        line-height: 44px;
        border-radius: 24px;
        text-align: center;
        font-size: 15px;
        letter-spacing: -0.04em;
        margin: 32px auto 0;
    }
    #btn a {
        height: 48px;
        position: relative;
        color: #113962;
        display: block;
        padding-left: 8px;
        border: 1px solid #113962;
        border-radius: 24px;
        box-sizing: border-box;
        background: #fff;
    }
    #btn a:before {
        content: '';
        background: url("../img/arrow_1.svg") no-repeat;
        display: block;
        width: 15px;
        height: 12px;
        background-size: cover;
        position: absolute;
        top: 16px;
        left: 18px;
        transition: .2s;
    }
    #btn a:hover {
        background: #EBEAEA;
        border: 1px solid #F5F5F5;
    }
    #btn a:hover:before {
        left: 22px;
        transition: .2s;
    }
    #information {
        margin-bottom: 40px;
    }    
    #information li {
        margin-bottom: 24px;
        padding-bottom: 20px;
        position: relative;
    }
    #information li:last-child {
        margin-bottom: 0;
    }
    #information li:before {
        content: '';
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 1px;
        background: linear-gradient(to right, #113962 0%, #113962 12%, #D0D0D0 12%, #D0D0D0 100%);
    }
    #information li p {
        font-size: 14px;
        margin-bottom: 8px;
        line-height: 1em;
    }
    #information li p span {
        font-size: 11px;
    }
    #information li h3 {
        font-size: 16px !important;
        line-height: 1.8em !important;
        margin-bottom: 0 !important;
    }
    #information li h3 a {
        color: #113962;
        font-weight: 500;
    }
    p#date {
        font-size: 14px;
        margin-bottom: 8px;
        line-height: 1em;
    }
    p#date span {
        font-size: 11px;
    }
    #entry h3 {
        color: #113962;
        font-weight: 500;
        font-size: 16px !important;
        line-height: 1.8em !important;
        margin-bottom: 24px !important;
        padding-bottom: 20px;
        position: relative;
    }
    #entry h3:before {
        content: '';
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 1px;
        background: linear-gradient(to right, #113962 0%, #113962 12%, #D0D0D0 12%, #D0D0D0 100%);
    }
    #entryarea {
        padding: 0 0 24px;
        border-bottom: 1px solid #D0D0D0;
        margin-bottom: 32px;
    }
    #entryarea p {
        font-size: 15px;
        line-height: 1.8em;
        margin-bottom: 16px;
    }
    #entryarea p:last-child {
        margin-bottom: 0;
    }
    #entryarea p img {
        margin-bottom: 20px;
        border-radius: 6px;
    }
    #txt p {
        font-size: 16px;
        line-height: 2em;
    }
    #telpc {
        display: none;
    }
    #animation3 {
        display: none;
    }
    #animation4 {
        width: 72px;
        position: absolute;
        top: 7px;
        right: 8px;
    }
    #telsp {
        margin: 24px 0 32px;
        position: relative;
    }
    #form dt {
        margin-bottom: 8px;
    }
    #form dt span {
        font-size: 12px;
    }
    #form dd {
        margin-bottom: 16px;
    }
    #form p {
    margin-bottom: 0;    
    }
    input[type="text"], input[type="email"], input[type="tel"], textarea, select {
        background: #EBEBEB;
        border-radius: 6px;
        height: 48px;
        padding: 0 16px;
        font-size: 15px;
        width: 100%;
        box-sizing: border-box;
        font-family: "Zen Kaku Gothic New", sans-serif;
        color: #113962;
        letter-spacing: -0.02em;
    }
    input, button, select, textarea {
        -webkit-appearance: none;
        outline: none;
        border: none;
    }
    textarea {
        width: 100%;
        max-width: 100%;
        min-height: 240px;
        padding: 12px;
        box-sizing: border-box;
        line-height: 1.8em;
    }
    .wpcf7-not-valid-tip {
        font-size: 13px !important;
        color: #E35F5F !important;
        margin-top: 4px;
    }
    .wpcf7-response-output {
        border: 1px solid #E35F5F !important;
        color: #E35F5F;
        text-align: center;
        padding: 8px !important;
        border-radius: 4px;
        margin: 0 !important;
        font-size: 13px;
        line-height: 1.8em;
    }
    .wpcf7-spinner {
        margin: 16px 0 0 !important;
    }
    
    #pp {
        border: 1px solid #113963;
        border-radius: 6px;
        padding: 16px 20px 16px 16px;
        height: 270px;
        overflow-y: scroll;
    }
    #pp h3 {
        font-size: 13px;
        font-weight: 700;
        line-height: 1.8em;
        margin-bottom: 16px;
    }
    #pp p {
        font-size: 13px;
        font-weight: 500;
        line-height: 1.8em;
        margin-bottom: 16px;
        padding-left: 1em;
        text-indent: -1em;
    }
    #pp p:last-child {
        margin-bottom: 0;
    }
    #pp div {
        border-radius: 4px;
        background: #EBEBEB;
        padding: 16px;
        margin: 20px 0;
    }
    #pp div p {
        line-height: 1.6em;
        margin-bottom: 10px;
    }
    #pp div p:last-child {
        margin-bottom: 0;
    }
    #pp ul {
        margin-bottom: 16px;
    }
    #pp ul li {
        font-size: 13px;
        font-weight: 500;
        line-height: 1.8em;
        margin-bottom: 4px;
        padding-left: 1.4em;
        text-indent: -1em;
    }
    #send {
        width: 100%;
        border-radius: 24px;
        text-align: center;
        margin: 32px auto 0;
    }
    #send p {
        position: relative;
        line-height: 44px;
        font-size: 13px;
        letter-spacing: -0.04em;
        margin-bottom: 0;
    }
    #send p:before {
        content: '';
        background: url(../img/arrow_1.svg) no-repeat;
        display: block;
        width: 15px;
        height: 12px;
        background-size: cover;
        position: absolute;
        top: 18px;
        left: 18px;
        transition: .2s;
    }
    #send p:hover:before {
        left: 22px;
        transition: .2s;
    }
    #send p:hover input {
        background: #EBEAEA;
        border: 1px solid #F5F5F5;
        transition: .2s;
    }
    #send p input {
        height: 48px;
        color: #113962;
        display: block;
        padding-left: 8px;
        border: 1px solid #113962;
        border-radius: 24px;
        box-sizing: border-box;
        background: #fff;
        cursor: pointer;
        width: 100%;
        font-family: "Zen Kaku Gothic New", sans-serif;
        letter-spacing: -0.02em;
        font-size: 13px;
        font-weight: 500;
        transition: .2s;
    }
    .wp-pagenavi {
        display: flex;
        justify-content: flex-start;
    }
    .wp-pagenavi .current {
        width: 32px;
        height: 32px;
        display: block;
        border-radius: 16px;
        border: 1px solid #C9D3E2;
        box-sizing: border-box;
        text-align: center;
        line-height: 28px;
        font-size: 13px;
        font-weight: 500;
        background: #C9D3E2;
        color: #264E75;
        margin-right: 8px;
    }
    .wp-pagenavi .page {
        width: 32px;
        height: 32px;
        display: block;
        border-radius: 16px;
        border: 1px solid #113962;
        box-sizing: border-box;
        text-align: center;
        line-height: 28px;
        font-size: 13px;
        font-weight: 500;
        background: #fff;
        color: #113962;
        margin-right: 8px;
    }
    .wp-pagenavi .page:hover {
        background: #F5F5F5;
        border: 1px solid #F5F5F5;
    }
}