/*
Theme Name: Lightning Child
Template: lightning
Text Domain: lightning
Theme URI: https://lightning.vektor-inc.co.jp/en/
Description: Lightning is a very simple & easy to customize theme which is based on the Bootstrap. It is also very friendly with custom post types and custom taxonomies. When you add a new one, the breadcrumbs will be adjusted and posts will look beautifully without editing or adding a template files.
Author: Vektor,Inc.
Author URI: https://www.vektor-inc.co.jp
Version: 15.29.7
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Lightning WordPress theme, Copyright (C) 2015-2025 Vektor,Inc.
Lightning WordPress theme is licensed under the GPL.

Lightning WordPress Theme bundles the following third-party resources:

Font Awesome icon font, Copyright 2012 Fonticons, Inc.
its fonts are licensed under the terms of the SIL OFL License 1.1, and its code is licensed under the terms of the MIT license
Source: https://fontawesome.com/

Bootstrap framework, Copyright 2011 Bootstrap Authors and Twitter, Inc.
Bootstrap is licensed under the terms of the MIT license
Source: https://getbootstrap.com/

CSS Simple Tree Shaking
CSS Simple Tree Shaking is licensed under the terms of the GNU General Public License v2 license
Source: https://celtislab.net/
*/

body {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
}

/** iphone **/
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
}


:root {
  --vk-color-text-body: #00467d;
}
footer .site-footer-copyright p:nth-child(2) {
    display:none !important;
}
@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 970px;
    }
}

body.device-pc .vk-mobile-nav-menu-btn { display: inline-block;}
h2 {
	    color: var(--vk-color-primary);
	    font-size: 64px;
	    border-top: unset;
	    border-bottom: unset;
      padding: 0;
      margin-bottom: 20px;
}
.mobile-nav-btn-right .vk-mobile-nav-menu-btn, .vk-mobile-nav-menu-btn.position-right {
    left: inherit;
    right: 24px;
}
.admin-bar .vk-mobile-nav-menu-btn {
    top: calc(32px + 24px);
}
.vk-mobile-nav-menu-btn {
    position: fixed;
    top: 5px;
    left: 5px;
    z-index: 2100;
    overflow: hidden;
    border: 0px solid #333;
    border-radius: 2px;
    width: 45px;
    height: 45px;
    cursor: pointer;
    text-indent: -9999px;
    background-size: 45px 45px;
    transition: border-color .5s ease-out;
}
.vk-mobile-nav-menu-btn {
    border-color: #333;
    background: var(--vk-mobile-nav-menu-btn-bg-src) center 50% no-repeat;
}
.site-header {
    display: none;
}
.header_scrolled .site-header {
    display: inherit;
}
.header_scrolled .header-top, .header_scrolled .site-header-logo, .header_scrolled .site-header-sub, .header_scrolled .vk-campaign-text
 {
    display: inline-block;
}
@media (min-width: 992px) {
    .header_scrolled .site-header .global-nav {
        display: none;
        margin-left: auto;
        margin-right: auto;
    }
}
@media (min-width: 992px) {
	.vk-mobile-nav {
    width: 45%;
}
    body.device-pc .vk-mobile-nav {
        display: block;
    }
.vk-mobile-nav.vk-mobile-nav-right-in
 {
    transition: all .2s ease-out;
    left: unset;
    right: -100%;
}
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-left-in, .vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
    left: unset;
    right: 0;
}
.site-header-container {
        justify-content: center;
    }
    body:not(.header_scrolled) .global-nav--layout--float-right {
        display: none;
    }
.site-header--layout--nav-float .site-header-logo {
        margin-right: 0;
        justify-items: center;
    }
nav#global-nav {
    height: 56px;
}
}
/** layout **/
.site-footer {
    background: #00467D;
    color: #fff;
}
.nav li a, nav li a {
    color: #fff;
    text-decoration: none;
}
.footer-nav-list {
    display: flex;
    align-items: center;
    justify-content: center;
}
.site-footer-copyright p {
    text-align: center;
    margin: .5rem;
    font-size: var(--vk-size-text-xs);
    color: #fff;
}
.site-body-bottom {
    background: #00467D;
    margin: 60px 0 0 0;
}
.site-body-bottom figure {
    margin: 0px auto;
    text-align: center;
    max-width: 259px;
    padding: 50px 0;
}
@media (min-width: 1200px) {
    .site-body {
        padding: 0 0 4rem;
    }
}
.wp-block-columns.alignfull.is-layout-flex.wp-container-core-columns-is-layout-28f84493.wp-block-columns-is-layout-flex {
    margin-bottom: 0;
}

.is-style-vk-heading-plain h3 {
	    color: var(--vk-color-primary);
}
p {
	    color: var(--vk-color-primary);
}
.bg_section1 {
    background-image: url(/cms/wp-content/uploads/2025/06/bg2-scaled.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.amri-bg-secton h2 {
	    color:#fff;
}
.amri-bg-secton h3 {
	    color:#fff;
}
.amri-bg-secton p {
	    color:#fff;
}
.inner-wrap {
    max-width: 940px;
    margin: 40px auto !important;
}
h2.main_ttl {
    font-size: 24px;
    background: var(--vk-color-primary);
    display: inline-block;
    padding: 4px 14px;
	  color: #fff;
}
h2.main_ttl.-wh {
    background: #fff;
    display: inline-block;
	  color: var(--vk-color-primary);
}
p.sub_ttl {
    font-size: 64px;
    font-weight: bold;
    line-height: 1;
}
.lead_text {
        font-size: 20px; 
}
.mv_wrap {
    height: 125vh;
    background-image: url(/cms/wp-content/uploads/2025/06/bg1-scaled.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
}
.mv_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50vh;
  z-index: 1;
  position: relative;
  max-height: 490px;
}
.mv_logo {
    max-width: 600px;
    margin: 0 auto;
}
.mv_image {
    position: absolute;
    bottom: 0;
    margin: 0;
    padding: 0;
    line-height: 0;
}
ul.acs_info p {
    margin: 0;
}
.acs_info li {
    display: flex;
}
.acs_info li {
    display: flex;
    border-bottom: 1px solid #fff;
    padding: 10px 0;
    margin: 0;
}
.info_l {
    font-weight: bold;
    flex: 1;
}
.info_r {
    flex: 3;
}
.flex_wrap {
    display: flex;
    gap: 50px;
}
.member-wrap {
    padding: 60px 60px;
}
.profile_cont {
    margin-bottom: 100px;
    transition: all 1s ease;
}
.tumb figure {
    border-radius: 60px;
    display: inline-block;
    overflow: hidden;
    line-height: 1;
    padding: 0;
    width: 321px;
}
.tumb figure img {
    width: 100%;
}
.partners figure {
    width: 160px;
    border-radius: 45px;
}
.acd_btn_wrap {
    text-align: center;
}
span.acd_btn {
    padding: 30px;
    display: inline-block;
    position: relative;
    cursor: pointer;
}
span.acd_btn:after {
    content: "";
    background-image: url(/cms/wp-content/uploads/img/ico_open.png);
    padding: 30px;
    display: inline-block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 0;
}
.active span.acd_btn:after {
    background-image: url(/cms/wp-content/uploads/img/ico_close.png);
}
.position p {
    font-size: 24px;
    margin-bottom: 0px;
    font-weight: bold;
}
.name h3 {
    font-size: 34px;
    border: 0;
    padding: 0;
    margin-bottom: 24px;
}
.name h3:after {
    border: 0;
}
.main_text {
    padding: 0 30px;
}
.main_text {
    transition: all 0.7s ease;
    display: grid; 
    max-height:0;
	  overflow:hidden;
}
.active .main_text {
    max-height:150vh;
}

/** contact **/

.contact p {
    color: #333;
    font-weight: bold;
    font-size: 15px;
    margin: 20px 0;
}
.contact p.required {
    padding-left: 30px;
    font-size: 16px;
}
p.required:after {
    content: "必須";
    padding-left: 20px;
    color: #FF09CA;
}
.contact textarea {
    padding: 31px;
    background: #f8f9fa;
    border-radius: 50px;
    border: 1px solid #00467d;
}
.contact select {
    padding: 31px;
    background: #f8f9fa;
    border-radius: 50px;
    border: 1px solid #00467d;
}
.contact textarea {
    padding: 31px;
    background: #f8f9fa;
    border-radius: 50px;
    border: 1px solid #00467d;
}
.c-name input, .c-mail input, .c-phone input {
    padding: 31px;
    background: #f8f9fa;
    border-radius: 50px;
    border: 1px solid #00467d;
}
.scl_area {
    border: 1px solid #00467d;
    overflow-y: scroll;
    min-height: 220px;
}
.scl_area .inner {
    padding: 20px;
}
.scl_area .inner p {
    font-weight: normal;
}
span.wpcf7-list-item-label {
    font-size: 16px;
    font-weight: bold;
    color: #333;
}
span.wpcf7-list-item-label:after {
    content: "必須";
    padding-left: 20px;
    color: #FF09CA;
}
.c-acceptance input[type="checkbox" i] {
    background-color: initial;
    cursor: default;
    appearance: auto;
    box-sizing: border-box;
    margin: 3px 3px 3px 4px;
    padding: initial;
    border: initial;
}
.c-submit {
    text-align: center;
}
.contact .c-submit input {
    padding: 31px;
    border-radius: 50px;
    max-width: 300px;
    width: 100%;
    padding: 18px;
    background: #31BBC2;
    border: 0;
}
.wpcf7-spinner {
    position: absolute;
}
.scl_area {
    margin-bottom: 40px;
}
.acp p.center {
    text-align: center;
    font-weight: normal;
}
.c-submit {
    margin-top: 40px;
}

@media (max-width: 781px) {
    .site-header-container {
        display: block;
        overflow: hidden;
        justify-content: center;
        display: flex;
    }
.header_scrolled.admin-bar .site-header {
        animation: header_drop_admin .5s ease-out 0s 1 alternate none running;
}
.header_scrolled .site-header {
        clear: both;
        z-index: 1000;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        max-width: 100vw;
        min-height: unset;
        box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
        animation: header_drop .5s ease-out 0s 1 alternate none running;
    }
.vk-mobile-nav-menu-btn {
  top: 10px;
}
h2.main_ttl {
    font-size: 16px;
    background: var(--vk-color-primary);
    display: inline-block;
    padding: 4px 14px;
    color: #fff;
}
    p.sub_ttl {
        font-size: 42px;
    }
.lead_text {
        font-size: 16px; 
}
    .mv_logo {
        max-width: 600px;
        margin: 0 auto;
        padding: 10% 20%;
    }
.mv_wrap {
    height: 58vh;
    background-image: url(/cms/wp-content/uploads/2025/06/bg1-scaled.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
}
.member-wrap {
    padding: 0 10px;
}
.wp-block-columns.alignwide {
    width: 100%;
}
ul.acs_info {
    padding: 0;
}
.acs_info li {
    flex-direction: column;
}
.bg_section1 {
    padding: 0 15px;
}
.flex_wrap {
    display: flex;
    gap: 10px;
    flex-direction: column;
    align-items: center;
}
.profile_cont {
    margin-bottom: 30px;
    transition: all 1s ease;
}
.tumb {
    width: 80%;
}
.tumb figure {
    border-radius: 60px;
    display: inline-block;
    overflow: hidden;
    line-height: 1;
    padding: 0;
    width: 100%;
}
.prof {
        width: 100%;
        align-items: center;
        text-align: center;
    }
.position p {
    font-size: 16px;
    margin-bottom: 10px;
    font-weight: bold;
}
.name h3 {
    font-size: 24px;
    border: 0;
    padding: 0;
    margin-bottom: 24px;
}
span.acd_btn {
    padding: 20px;
}
span.acd_btn:after {
    padding: 20px;
}
.partners .flex_wrap {
    display: flex;
    gap: 20px;
    flex-direction: row;
    align-items: flex-start;
}
.partners .tumb {
        width: 30%;
}
.partners .tumb figure {
        border-radius: 25px;
    }
.contact select {
    padding: 20px;
}
.c-name input, .c-mail input, .c-phone input {
    padding: 20px;
}
.footer-nav {
    display: none;
}
}