/*
Theme Name: WAVE3
Theme URI: https://wave3.jp
Author: WAVE3
Author URI: https://wave3.jp
GitHub Theme URI: https://github.com/correlate000/wave3.jp
Description: WAVE3 custom WordPress theme based on Understrap.
Version: 1.0.0
Requires at least: 5.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: wave3
Tags: one-column, two-columns, custom-background, custom-logo, custom-menu, featured-images, footer-widgets, full-width-template, theme-options, translation-ready

WAVE3 WordPress Theme, (C) 2024 WAVE3
Based on Understrap, distributed under the terms of the GNU GPL.
*/

/*
Do not modify the parent Understrap theme. Instead, download a copy of the Understrap Child starter theme and do all your development within the child theme.
Full developer documentation: https://docs.understrap.com
*/
@charset "utf-8";


/* Reset
------------------------------------------------------------*/
/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */
/* ============================================ */

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */

[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
  background: #fff;
  width: 100%;
  border-radius: 10px;
  margin-top: 0.5rem;
  padding: 0.5rem;
  color: #282828;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Reset
------------------------------------------------------------*/
img{max-width: 100%;}
a{
  display: block;
}

body{
  font-family: "Jost", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

.sc_title_wh{
  padding-bottom: 2rem;
  color: #fff;
  max-width: 1200px;
  margin: 0 auto;
}
.sc_title_bl{color: #3863D3;padding-bottom: 5rem;}
.sc_title_pt{
  color: #3863D3;
  padding-bottom: 5rem;
  padding-left: 3rem;
  max-width: 1200px;
  margin: 0 auto;
}
.sc_title_wh_header{
  padding-bottom: 2rem;
  color: #fff;
}

.title_h2{
  font-size: 3.125rem;
  font-weight: 300;
}
.title_p{
  font-size: 1.25rem;
  padding-top: 0.5rem;
}

header{
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
}

#header{height: calc(100vh - 75px);}



#video{
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  background: url('./img/bubble.png') no-repeat;
  background-size: cover;
  z-index: -1;
  filter: hue-rotate(268deg) saturate(0%);
}
header::after{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgb(150, 176, 255, 0.5);
  mix-blend-mode: multiply;
}
#video{}
.menu{
    display: flex;
    padding: 0 5rem 0 1rem;
    position: fixed;
    color: #fff;
    z-index: 999;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    height: 65px;
}
.menu_logo_wrap{}
.menu_logo{
    width: 50%;
    padding: 1rem 0;
}

.menu-container{
    width: 100%;
    height: 100%;
}
.menu-class{
    display: flex;
    justify-content: flex-end;
}
.menu-item{
  padding-right: 1rem;
}
.menu-item a{
    padding-left: 1rem;
}
.menu-item a:hover{
  color: #3863D3;
}

/*
.menu_ul{
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
}
.menu_li{}
.menu_li:hover{
  color: #3863D3;
  border-bottom: solid 1px #3863D3;
}
*/
.header_bg{
    background: url(/wp-content/uploads/2024/03/top_nami.png) no-repeat;
    background-size: cover;
    background-position: top;
    width: 100%;
    height: 100vh;
    position: absolute;
    bottom: -25%;
    z-index: 1;
}
.h1_text{
    padding: 0 5rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    color: #3863D3;
    height: 100%;
}
.top_h1{
    font-size: 1.875rem;
    font-weight: bold;
    padding: 1rem;
    width: fit-content;
    background: rgb(255 255 255 / 80%);
    margin-bottom: 1rem;
}
.h1_p{
    font-family: "Roboto";
    font-size: 3.125rem;
    font-weight: 900;
    width: fit-content;
    background: rgb(255 255 255 / 80%);
    padding: 1rem;
    margin-bottom: 1rem;
    letter-spacing: 0.1em;
}

.ms_vl{
  background: #3863D3;
  /* height: 100vh; */
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  /* padding: 5rem 0; */
}
.ms_vl_in{}


#mission{
    padding-bottom: 3rem;
    max-width: 1200px;
    margin: 0 auto;
}
.mission{
    color: #fff;
    padding: 0 3rem;
}
.ms_text_box{}
.sc_h3{
    font-size: 1.875rem;
    font-weight: bold;
    padding-bottom: 1rem;
}
.ms_p{
    font-size: 1.125rem;
}

#value{background: url(/wp-content/uploads/2024/03/br1.png) no-repeat;height: 100%;}
.value{
    text-align: right;
    padding: 3rem 3rem;
    max-width: 1200px;
    margin: 0 auto;
}
.vl_text_box{
}
.vl_h3{
}
.vl_p{
  font-size: 1.125rem;
  width: fit-content;
  text-align: left;
  margin-left: auto;
  line-height: 1.6;
}

#project{
    padding: 5rem 3rem;
    max-width: 1200px;
    margin: 0 auto;
}
.project{}
.pj_box{
    display: flex;
    align-items: center;
    padding-top: 5rem;
}
.pj_ul{
    width: 50%;
    padding-right: 3rem;
}
.pj_li{
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}
.pj_no{
    font-family: "Roboto";
    font-size: 4.375rem;
    font-weight: 300;
    color: #3863D3;
    padding-right: 2rem;
}
.pj_img{
    width: 50%;
}
.pj_img_in{}

#news{
    max-width: 1200px;
    margin: 8rem auto;
}
.news{
    padding: 5rem 3rem;
    display: flex;
    align-items: flex-start;
}
.news_title_box{
    align-content: center;
    align-items: center;
}
.news_box{
    padding: 0 3rem 5rem;
}
.news_ul{}
.news_li{
}
.news_li:nth-child(1){
}
.news_a{
  display: grid;
  padding: 3rem 2rem;
  width: 100%;
  grid-template-columns: auto auto 2fr;
  gap: 3rem;
  align-items: center;
  grid-auto-rows: auto;
}
.news_a:hover .news_link{
  background: #3863D3;
  color: #fff;
}
.news_a:hover{
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  border-radius: 3px;
}
.date{
    grid-row: 1;
    justify-self: flex-start;
}
.tag{grid-row: 1;font-size: 0.875rem;}
.tag_span{
  background: #3863D3;
  color: #fff;
  border-radius: 100px;
  display: block;
  width: 10em;
  margin-bottom: 0.5rem;
  text-align: center;
  padding: 0.2rem 0;
}
.news_thumbnail{grid-row: 1;}
.news_img{
    object-fit: cover;
}
.news_title{
    line-height: 1.6;
}
.news_link{
    width: 80px;
    height: 80px;
    border: solid 4px #3863D3;
    border-radius: 900px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3863D3;
    grid-row: 1;
}

.news_btn{

}
.news_btn_a{
  text-align: center;
  background: #C3D0F2;
  width: 180px;
  padding: 0.5rem 0;
  border-radius: 900px;
  margin-top: 1rem;
  font-weight: bold;
  color: #3863D3;
}
.news_btn_a:hover{
  border: solid 2px #C3D0F2;
  background: #fff;
}
.news_btn_text{}

#partner{background: #F5F7FD;padding: 5rem 0;margin-bottom: 150px;}
.partner{margin: 0 auto;}

/*partner_slider
------------------------------------------------------------*/
.pt_slide{
    padding: 3% 0;
    overflow: hidden;
    background-color: #fff;
}
.slider-8 .slick-slide {
  width: 200px;
  position: relative;
  overflow: hidden;
}
.slider-8 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5%;
  aspect-ratio: 1 / 1;
}

.pt_slide_a{}
.pt_slide_a:hover{
  border-bottom: solid 3px #4FB8CF;
}

/*.pt_box{
    padding: 5rem 0;
}
.pt_ul{
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: space-around;
}
.pt_li{
}
.pt_a{
  width: 250px;
  height: 250px;
  background: #fff;
  padding: 3rem;
  display: flex;
  align-items: center;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  border-radius: 900px;
}
.pt_a:hover{
  box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
}
.pt_img{
    width: 80%;
    margin: 0 auto;
}*/

#media{margin: -150px 0;background: url(/wp-content/uploads/2024/03/md_bg_2.png) no-repeat;padding: 5rem 0;background-size: 100%;}
.media{
    margin-top: 150px;
    padding: 5rem 3rem;
    background-image: linear-gradient(90deg, rgba(79, 184, 207, 1), rgba(56, 99, 211, 1));
}

.media {}
.md_box{
    color: #3863D3;
    padding: 2rem 0;
    max-width: 1200px;
    margin: 0 auto;
}
.md_box_in{}
.md_ul{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 1rem;
    width: 100%;
}
.box-parent{}
.md_li{background: #fff;}
.md_li:hover{
  box-shadow: 5px 5px 0px 0px rgba(255, 255, 255, 0.4), 10px 10px 0px 0px rgba(255, 255, 255, 0.3);
}
.md_ul .md_il a{
    height: 100%;
}
.md_li a img{
  object-fit: cover;
  width: 100%;
}
.md_li img{
    width: 100%;
    object-fit: cover;
    object-position: top;
    height: auto;
}
.md_text_box{
    height: fit-content;
}
.md_tag{
    width: fit-content;
    padding: 0.5rem 1rem 0;
}
.md_tag_img{}
.md_title{
    padding: 1rem 1rem;
    line-height: 1.6;
    color: #282828;
}
.md_p{}
.md_btn{

}
.md_btn_a{
  text-align: center;
  background: #fff;
  width: 180px;
  margin: 0 auto;
  padding: 0.5rem 0;
  border-radius: 900px;
  margin-top: 5rem;
  font-weight: bold;
  color: #3863D3;
}
.md_btn_a:hover{
  border: solid 2px #fff;
  color: #fff;
  background: none;
}
.md_btn_text{}

#contact{
    margin-top: 68px;
    background: #3863D3;
    color: #fff;
    padding: 5rem 3rem;
}
.contact{max-width: 1200px;margin: 0 auto;}
.contact_box{
    width: 580px;
    margin: 0 auto;
}
.form_box{
    padding-bottom: 1rem;
}
.form_label{
}
.form_span{
    color: white;
    padding: 0 0.5rem;
    background: #dc143c;
    border-radius: 5px;
    margin-left: 0.5rem;
}
input[type=text] {background: #fff;padding: 0.5rem;border-radius: 10px;width: 100%;margin-top: 0.5rem;color: #282828;}
input[type=email] {background: #fff;padding: 0.5rem;width: 100%;border-radius: 10px;margin-top: 0.5rem;color: #282828;}

.cnt_btn_wrap{
    width: fit-content;
    margin: 0 auto;
}
.cnt_btn_wrap p{
  display: inline;
}

.cnt_btn{
  text-align: center;
  background: #fff;
  width: 180px;
  margin: 0 auto;
  padding: 0.5rem 0;
  border-radius: 900px;
  margin-top: 5rem;
  font-weight: bold;
  color: #3863D3;
  display: block;
}
.cnt_btn:hover{
  border: solid 2px #fff;
  color: #fff;
  background: none;
}

#footer{
  background: #1C3169;
  padding: 3rem;
}
.footer{
    max-width: 1200px;
    margin: 0 auto;
}

.footer_rc_ct{
  padding-bottom: 3rem;
}
.footer_rc_ct_box{
  display: flex;
}
.rc,.ct{
  width: 50%;
  padding: 1rem;
}
.rc_ct_a{
  
}
.rc_in,.ct_in{
  display: flex;
  justify-content: space-between;
  padding: 1rem;
  align-items: center;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
                  linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 20px 20px;
  background-repeat: repeat;
  background-position: center center;
  background-color: #fff;
  color: #3863D3;
}
.rc_p,.ct_p{
  font-size: 3.125rem;
}
.rc_arrow,.ct_arrow{
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.rc_img_bg,.ct_img_bg{
  width: 30%;
  background: url(/wp-content/uploads/2024/04/arrow_bl.png) no-repeat;
  background-size: contain;
  background-position: center;
  height: 100px;
}

.rc_in:hover .rc_img_bg,
.ct_in:hover .ct_img_bg{
  background: url(/wp-content/uploads/2024/04/arrow_wh.png) no-repeat;
  background-size: contain;
  background-position: center;
  height: 100px;
}

.rc_img_bl{}
.ct_img_bl{}

.rc_in:hover,
.ct_in:hover{
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
  linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 20px 20px;
  background-repeat: repeat;
  background-position: center center;
  color: #fff;
  background-color: #3863D3;
}


.footer_box{
  display: flex;
  align-items: center;
}
.footer_content_1{
  width: 50%;
}
.footer_logo{
  width: 40%;
  padding-bottom: 1rem;
}
.footer_img{}
.sns{
  display: flex;
  width: fit-content;
  color: #fff;
  padding-left: 1rem;
}
.sns_icon{
  padding-right: 1rem;
  font-size: 2rem;
}
.sns_a{
  background: #F5F7FD;
  width: 50px;
  height: 50px;
  color: #282828;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 900px;
}.sns_a:hover{
background: none;
border: solid 2px #F5F7FD;
color: #F5F7FD;
}
.footer_content_2{
  color: #fff;
  width: 50%;
}
.menu-footer_menu-container{}
.footer-menu{
    display: flex;
    justify-content: space-evenly;
    font-size: 1.25rem;
    flex-wrap: wrap;
}

.footer_ul{
  display: flex;
  justify-content: space-between;
}
.footer_li{}
.footer_li:hover{
border-bottom: solid 2px #C3D0F2;
}
.privacy{
  display: flex;
  justify-content: flex-end;
  color: #fff;
}
.privacy_p{
}
.privacy_p:nth-child(2){
  padding-left: 1rem;
}

.menu-class_page{
  display: flex;
  justify-content: flex-end;
  height: 65px;
  align-items: center;
}
.page-hamburger__line{
  position: absolute;
  width: 50px;
  height: 4px;
  right: 0;
  background: linear-gradient(to right, #004BB1, #4FB8CF);
  transition: all 0.5s;
  border-radius: 999px;
}
.menu-class-page{

}

/*media_page
-------------------------------------------------------------*/
.page_menu{
  display: flex;
  padding: 0 1rem;
  color: #282828;
  z-index: 999;
  width: 100%;
  position: fixed;
  align-items: center;
  background: #fff;
  height: 70px;
}
.page_menu_logo{
  width: 50%;
  padding: 1rem 0;
}
.page_menu_ul{
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: space-between;
}

#page-media{}
.page-media{
    background-image: linear-gradient(90deg, rgba(79, 184, 207, 1), rgba(56, 99, 211, 1));
    margin-top: -5px;
    padding: 5rem 3rem;
}

#media_header{
background: url(/wp-content/uploads/2024/04/md_bg.png) no-repeat;
background-size: cover;
background-position: top;
height: calc(50vh - 65px);
margin-top: 50px;
}
.md_header_bg{
}
.md_h1_text{
  font-size: 5rem;
  display: flex;
  align-items: center;
  height: 100%;
  color: #3863D3;
  justify-content: flex-start;
  padding: 150px 3rem 0;
}
.pd_h1_text{
  font-size: 5rem;
  height: 100%;
  color: #3863D3;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5%;
}

.md_top_h1,.pd_top_h1{}

.md_page{
  text-align: center;
  padding: 2rem 0;
  color: #fff;
}
.md_page_a{}
.md_page_btn{}

/*single_page
-------------------------------------------------------------*/
#single{max-width: 900px;margin: 0 auto;padding-top: 140px;}
.single{position: relative;padding: 3%;}
.single p a:hover{
  opacity: 0.8;
}
.single::before{
  content:"";
  display:inline-block;
  width: 1px;
  height: 100%;
  background-color: #3863D3;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -50px;
}
.single::after{
  content:"";
  display:inline-block;
  width: 1px;
  height: 100%;
  background-color: #3863D3;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -50px;
}
.single_title{
  font-size: 1.875rem;
  color: #282828;
  width: 100%;
  font-weight: bold;
}
.single_title_in{
  background-position: top;
  background: url(/wp-content/uploads/2024/04/page-title.png) no-repeat;
  background-size: contain;
  height: calc(100vh - 65px);
}
.single_title_in h1{
  font-size: 1.875rem;
  color: #3863D3;
  font-weight: bold;
  padding-left: 5rem;
  width: 22em;
}
.single_date{
    display: block;
    text-align: end;
}

.title_bg{
  margin-top: -135px;
}

.single_box{
    margin: 0 auto;
}
.single_container h2{
    font-size: 1.875rem;
    font-weight: bold;
    color: #282828;
    width: 50%;
}
.single_container img{
  width: 100%;
  object-fit: contain;
  margin-top: 5rem;
}
.single_container{
    position: relative;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
}

.single_thumbnail_box{}

.single_container::after{
  content:"";
  display:block;
  width:100%;
  height: 1px;
  background-color:#cccc;
  position:absolute;
  left:10px;
  bottom: 0;
}

.single_span{
    padding-bottom: 2rem;
}
.box_2_img{}
.wp-block-heading{
    font-size: 1.25rem;
    font-weight: bold;
    padding: 2rem 0 0 0;
    position: relative;
    margin-left: 1em;
    margin-bottom: 1.5rem;
    width: fit-content;
}
.wp-block-heading::after{
  content: "";
  display: block;
  width: calc(100% + 2em); 
  background-color: #4fb8cf50;
  position: absolute;
  bottom: -0.1em;
  height: 15px;
  z-index: -1;
  left: -1em; 
  right: -1em; }

.single p{
  letter-spacing: 0.1em;
  line-height: 1.6;
  /* padding-top: 1rem; */
}
.single p img{}
.single_box a{
    padding-bottom: 2rem;
}

/*news_page
-------------------------------------------------------------*/
.page-news{
  padding: 5rem 3rem 0;
  display: flex;
  align-items: flex-start;
}
.page-news_box{
  padding: 0 3rem;
}
.news_title_in, .product_title_in, .training_title_in {
  position: relative;
  text-align: center;
  padding-top: 70px;
}

.product_title_in img, .news_title_in img, .training_title_in img {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  bottom: -30%;
  left: 0;
  z-index: -1;
}

.news_single_h1, .product_single_h1, .training_single_h1{
  font-size: 5rem;
  color: #fff;
  position: relative;
  z-index: 1;
  padding-top: 5%;
}

.news_page{
  text-align: center;
  padding: 1rem 0 5rem 0;
  color: #282828;
}
.news_page_a{}
.news_page_btn{}

/*about
-----------------------------------------------*/
#about_header{
  background: url(/wp-content/uploads/2024/04/about_bg.png) no-repeat;
  background-size: cover;
  background-position: top;
  height: calc(60vh - 65px);
  margin-top: 50px;
}

#about{}
.about{
  background-image: linear-gradient(0deg, rgba(79, 184, 207, 1), rgba(56, 99, 211, 1));
  margin-top: -5px;
  /* padding-top: 5rem; */
}

.about_box{
    display: flex;
    padding-bottom: 5rem;
    max-width: 900px;
    margin: 0 auto;
}
.about_box_text{
    width: 50%;
    color: #fff;
}
.about_box_h2{
    font-size: 3.125rem;
    padding-bottom: 2rem;
    font-weight: bold;
    font-family: "Noto Serif JP", serif;
}
.about_box_span{
  display: block;
  width: 80%;
  line-height: 1.5em;
}
#about_box_movie{
    width: 50%;
    object-fit: cover;
    background: url(/wp-content/uploads/2024/05/about_img.png) no-repeat;
}
.about_bg_wh_l{
    background: #fff;
    margin-bottom: 5rem;
    width: 80%;
}
.about_bg_wh_r{
  background: #fff;
  width: 80%;
  margin: 0 0 5rem auto;
}
.about_bg_wh_in{
    padding: 5rem 3rem;
    max-width: 1200px;
    margin: 0 auto;
}


.about_title_wh{
  color: #fff;
  padding: 2rem 1rem;
}
.about_title_bk{
    padding-bottom: 2rem;
}
.about_title_h2{
    font-size: 3.125rem;
}
.about_title_p{
    font-size: 1.125rem;
}

.about_ol{
    padding-left: 1.5em;
}
.about_li{
    list-style: decimal;
    padding-bottom: 0.5rem;
}

.details{
    display: flex;
    flex-wrap: wrap;
}
.about_dl{
  display: flex;
  flex-wrap: wrap;
  width: 50%;
}
.about_dl:last-child{
  padding-left: 3rem;
}
.about_dt{
    width: 50%;
    border-bottom: solid 1px;
    padding: 0.5rem;
}
.about_dd{
    width: 50%;
    border-bottom: solid 1px;
    padding: 0.5rem;
    line-height: 1.5;
}

.about_founder{
    max-width: 900px;
    margin: 0 auto;
}
.about_founder_box_wrap{
    display: flex;
    flex-wrap: wrap;
    padding: 5rem 0;
}
.about_founder_box{
    width: 50%;
    padding: 1rem 1rem 2rem;
}
.founder_photo{}
.founder_img{}
.founder_text{
    color: #fff;
    padding: 2rem 0 0;
}
.founder_position_en{
    font-size: 1.875rem;
    font-weight: bold;
    padding-bottom: 0.5rem;
}
.founder_position_jp{
    font-size: 1.875rem;
    font-weight: bold;
    padding-bottom: 0.5rem;
}
.founder_name_jp{
    font-size: 1.875rem;
    padding-bottom: 0.3rem;
}
.founder_name_en{
    padding-bottom: 0.3rem;
}
.founder_sns{
    display: flex;
    padding-top: 1rem;
}

.group{
    max-width: 900px;
    margin: 0 auto;
    padding-bottom: 5rem;
}
.group_box{
  display: grid;
  color: #fff;
  grid-template-columns: 1fr 1fr;
  padding-top: 3rem;
}
.group_span{
    color: #fff;
    display: block;
    padding-left: 1rem;
}

.logo_box{
    padding: 1rem;
}
.group_box_a:hover{
 opacity: 0.8;
}

.company_logo{
    background: #fff;
    padding: 3rem;
    width: 50%;
    margin: 0 auto;
}
.company_img{
    aspect-ratio: 1 / 1;
    object-fit: contain;
}
.companyname{
    padding-top: 1rem;
    margin: 0 auto;
    width: fit-content;
    font-weight: bold;
}
.company{
    padding-top: 0.5rem;
    line-height: 1.5;
}

.coop{
    max-width: 900px;
    margin: 0 auto;
    padding-bottom: 5rem;
}
.coop_box{
    display: grid;
    color: #fff;
    grid-template-columns: 1fr 1fr;
    padding-top: 3rem;
}

/*page-product
-------------------------------------------------------*/
#product{
}
.product{}
.product_title{width: 100%;}

#nav-wrapper,.news_ul_sp,.br_960,.br_640,.h1_text_960,.br_440,.container_02_img_sp,.br_510{display: none;}
.product_br{display: block;}

.product_box{
    padding-top: 6rem;
    max-width: 1200px;
    margin: 0 auto;
}
.product_box_02,.product_box_03{
  padding: 6rem 0;
  max-width: 1200px;
  margin: 0 auto;
}

.product_box_in{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 85%;
    margin: 0 auto;
}

.product_border{
  border-top: solid 3px;
  border-image: linear-gradient(to right, #3863D3, #4FB8CF) 1;
  width: 80%;
  margin: 0  auto;
}

.product_border:first-of-type {
  margin-top: 6rem;
}

.coming_soon{
    font-size: 1.182rem;
}

.product_box_960{
    display: flex;
    align-items: center;
}
.product_01{
    font-size: 80px;
    color: #3863D3;
}
.product_catch{
    padding-left: 1rem;
}
.product_catch_h2{
    font-weight: bold;
    font-size: 1.25rem;
}
.product_catch_p{
    font-weight: bold;
    padding-top: 1rem;
}
.product_catch_a{
    display: flex;
    align-items: center;
    width: 30%;
}
.product_catch_a:hover{
  border-bottom: solid 3px #4FB8CF;
}
.revelapp_img_wrap{
    padding-right: 1rem;
    width: 50%;
}
.revelapp_img{}

.catch_img_wrap{width: 50%;}
.revelapp_img{}
.catch_img{}

.page_title{
    display: flex;
    align-items: center;
    padding: 0 5%;
    justify-content: center;
}
.page_title_en{
    font-size: 1.875rem;
    color: #3863D3;
    border-top: solid 3px;
    border-image: linear-gradient(to right, #3863D3, #4FB8CF) 1;
    width: 30%;
    padding-top: 1rem;
}
.page_tilte_span{
    display: block;
    border-top: solid 3px;
    width: 50px;
    border-image: linear-gradient(to right, #3863D3, #4FB8CF) 1;
    transform: rotate(51deg);
}
.page_title_jp{
    font-size: 1.875rem;
    font-weight: bold;
    border-bottom: solid 3px;
    border-image: linear-gradient(to right, #3863D3, #4FB8CF) 1;
    width: 60%;
    padding-left: 1rem;
    padding-bottom: 1rem;
}
.product_container_wrap{
    max-width: 900px;
    margin: 0 auto;
    padding: 0 5%;
}
.product_container_01{padding: 5rem 0;}
.product_container_in{
    line-height: 1.5em;
    letter-spacing: 0.2em;
    /* border: solid 1px #3863D3; */
    padding: 5rem 1.5rem;
    margin: 5rem 0;
    background: #F5F7FD;
}
.product_container_in div{
    text-align: center;
    padding-bottom: 2rem;
}
.product_container_in div h3{
    text-align: center;
    font-size: 1.125rem;
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding: 0 70px;
}

.product_container_in div h3:before,
.product_container_in div h3:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 50px;
    height: 3px;
    background: linear-gradient(-90deg, #3863D3, #4FB8CF);
}

.product_container_in div h3:before {
    left: 0;
}

.product_container_in div h3:after {
    right: 0;
}


.product_container_in h4{
  padding-top: 1rem;
}
.product_container_in h4 p{
    font-size: 1.125rem;
    font-weight: bold;
    background: linear-gradient(transparent 50%, #4fb8cf50 50%);
    width: fit-content;
    margin: 0 auto;
    padding: 0 0.5rem;
}
.product_container_in h4 span{
    font-weight: 400;
    font-size: 1rem;
}
.product_container_in span{text-align: center;display: block;}

.product_container_02{}
.container_02_img_wrap{}
.container_02_img{}

.product_container_03{
    padding: 1rem 0;
}
.octagon {
  width: 100%;
  height: 280px;
  position: relative;
  background: #F5F7FD;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.octagon_frame{padding: 3%;}
.octagon::before {
  content: '';
  width: 0;
  height: 0;
  border: 35px solid transparent;
  border-top-color: #fff;
  border-left-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
.octagon::after {
  content: '';
  width: 0;
  height: 0;
  border: 35px solid transparent;
  border-top-color: #fff;
  border-right-color: #fff;
  position: absolute;
  top: 0;
  right: 0;
}
.octagon_frame::before {
  content: '';
  width: 0;
  height: 0;
  border: 35px solid transparent;
  border-bottom-color: #fff;
  border-left-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}
.octagon_frame::after {
  content: '';
  width: 0;
  height: 0;
  border: 35px solid transparent;
  border-bottom-color: #fff;
  border-right-color: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
}
.octagon_box{
    padding: 0 50px;
    align-items: center;
}
.octagon_box span{
  display: block;
  background: linear-gradient(transparent 50%, #4fb8cf50 50%);
  width: fit-content;
  margin: 0 auto;
  font-weight: bold;
}

.dli-plus {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  width: 35px;
  height: 35px;
}

.dli-plus::before {
  content: '';
  position: absolute;
  top: 47%;
  left: 0;
  width: 100%;
  height: 4px; 
  background: linear-gradient(to bottom, #3863D3, #4FB8CF);
}

.dli-plus::after {
  content: '';
  position: absolute;
  top: 0;
  left: 44%;
  width: 4px; 
  height: 100%;
  background: linear-gradient(to bottom, #3863D3, #4FB8CF);
}



.octagon_box_p02{
    padding: 2rem 70px 0;
    line-height: 1.5em;
    letter-spacing: 0.2em;
}

.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 6rem auto;
  max-width: 50%;
  padding: 10px 25px;
  text-decoration: none;
  color: #fff;
  line-height: 1.8;
  transition: 0.1s ease-in-out;
  font-weight: bold;
  background: #3863D3;
  border-radius: 9999px;
  border-bottom: solid 5px #1C3169;
}
.button_01 a:hover {
  border-bottom: solid 2px #1C3169;
  transform: translateY(1px);
}
	
@media screen and (max-width:510px) {
  .br_510{display: block;}
}

/*pagination
----------------------------------------------------*/
.pnavi {
  text-align: center;
}

.pagination .page-numbers {
  display: inline-block;
  margin-right: 25px;
  padding: 0;
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 50px;
  border-radius: 50%;
  color: #3863D3;
  border: 1px solid #3863D3;
  background: #fff;
  font-weight: bold;
  font-size: 12px;
}

.pagination a.page-numbers:hover {
  color: #FFF;
  background-color: #999;
  border-color: #999;
}

.pagination .current {
  padding: 0;
  background: #3863D3;
  color: #FFFFFF;
  font-size: 12px;
}

.pagination .prev,
.pagination .next {
  border: 1px solid #004BB1;
  color: #004BB1;
  position: relative;
  font-size: 12px;
}

.pagination a.next.page-numbers {
  margin-right: 0;
}

.pagination .dots {
  background: transparent;
  border: none;
}

/*menu-bg
-----------------------------------------------------*/
.header.change-color {
  background-color: #FFF;
  transition: 0.3s;
  color: #282828;
}
.header-logo {
  height: auto;
  width: 150px;
}
.header-logo.headerLogoScroll.-before {
  display : none;
}
.header-logo.-after {
  display : none;
}
.header-logo.headerLogoScroll.-after {
  display : block;
}

/*top_scroll
----------------------------------------------------*/
.scroll-top {
  position: fixed;
  right: 20px;
  bottom: 10px;
  z-index: 2;
  opacity: 0;
  visibility: hidden; 
  transition: opacity .5s, visibility .5s; 
  -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
  animation: arrowmove 1s ease-in-out infinite;
}


@keyframes arrowmove{
      0%{bottom:20px;}
      50%{bottom:25px;}
     100%{bottom:20px;}
 }


/*.scroll-view*/
.scroll-top.scroll-view {
  opacity: 1;
  visibility: visible;
}

.scroll-top a {
  text-decoration: none;
  color: #fff;
  text-transform: uppercase;
  font-size:0.9rem;
  display: block;
}

.js-scroll a::after{
  content:"";
  position: absolute;
  top:0;
  right:0;
  width:1px;
  height: 50px;
  background: #fff;
}

.js-scroll a::before {
    content: "";
    position: absolute;
    top: 30px;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #fff;
    transform: skewX(-31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-scroll a::before{
  right:-11px;
}

.js-pagetop a::after{
  content:"";
  position: absolute;
  top:0;
  right:0;
  width:1px;
  height: 50px;
  background: #fff;
}

.js-pagetop a::before {
    content: "";
    position: absolute;
    top: 0;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #fff;
    transform: skewX(31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-pagetop a::before{
  right:0;
}

/*1120px
-------------------------------------------------*/
@media screen and (max-width:1120px){
  .md_ul{
    grid-template-columns:1fr 1fr 1fr;
  }
  .md_ul :nth-child(n+7){display: none;}
}


/*960px
------------------------------------------------*/
@media screen and (max-width:960px) {
  #menu-menu-1,.menu-class_page,.h1_text{display: none;}
  .br_960{display: block;}
  .h1_text_960{display: block;position: absolute;top: 15%;z-index: 2;padding: 3%;color: #3863D3;}
  .h1_text{
    align-items: flex-end;
    padding: 0 3%;
  }

  #header{
  }
  .top_h1{font-size: calc(100vw / 25);}
.h1_p{}
.page_menu{
}
.menu_ul{
  display: none;
}
.menu_ul_sp{
    height: 100%;
    color: #282828;
}
.menu_li_sp{}
#nav-wrapper{
  display: block;
}
.md_il a{
  height: 100%;
}
.md_li a img{
  object-position: top;
  height: 100%;
}

.md_li img{
}

.menu_logo{
}

.hamburger .change-color_hamburger{
  background-color: #282828;
}
/* 
hamburger
=================================== */
.hamburger {
  position: absolute;
  right: 20px;
  top: 15px;
  width: 50px;
  height: 40px;
  cursor: pointer;
  z-index: 300;
}

.hamburger__line {
  position: absolute;
  width: 50px;
  height: 4px;
  right: 0;
  background: linear-gradient(to right, #004BB1, #4FB8CF);
  transition: all 0.5s;
  border-radius: 999px;
}

.hamburger__line--1 {
  top: 1px;
}

.hamburger__line--2 {
  top: 18px;
}

.hamburger__line--3 {
  top: 36px;
}


.open .hamburger__line--1 {
  transform: rotate(-45deg);
  top: 11px;
}

.open .hamburger__line--2 {
  opacity: 0;
}

.open .hamburger__line--3 {
  transform: rotate(45deg);
  top: 11px;
}

/* 
sp-nav
=================================== */
.sp-nav {
  position: fixed;
  right: -100%;
  top: 0px;
  width: 50%;
  height: 100vh;
  background-color: #fff;
  transition: all 0.5s;
  z-index: 200;
  overflow-y: auto;
  padding-top: 100px;
}


.open .sp-nav {
  right: 0;
}


/* 
black-bg
=================================== */
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 5;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 100;
}


.open .black-bg {
  opacity: 0.3;
  visibility: visible;
}

#menu-header_menu1{
  display: none;
}

.menu-class{
  flex-direction: column;
  height: 100%;
  align-items: center;
  justify-content: space-evenly;
}
.menu-class-page{
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
}

.sc_h3{
  font-size: 1.25rem;
}

.header_bg{
    bottom: -50vh;
}

.h1_text{
  align-items: center;
}
.h1_p{
  font-size: calc(100vw / 16);
}
.pt_ul{
}

.value{
    padding: 3rem 3%;
}
.vl_p{
  font-size: 1rem;
  line-height: 1.5em;
  /* letter-spacing: 0.05em; */
}
.ms_p{
    font-size: 1rem;
}
.news{
  flex-direction: column;
  padding: 3%;
  align-items: center;
}
.news_a{
  grid-template-columns: 15rem;
  gap: 1rem 0.5rem;
  padding: 3rem 3%;
  margin: 0;
}
.news_title
{
}
.news_box{
    padding: 3%;
}
.news_link{
  grid-row: 2/3;
  justify-self: end;
  width: 50px;
  height: 50px;
}
.tag{
  display: flex;
}
.tag_span{
  margin-right: 1rem;
}
.pj_box{
  flex-direction: column-reverse;
}
.pj_ul{
  width: fit-content;
  padding: 2rem 0;
}
.pj_img{
  width: 70%;
}
.pj_li{padding-bottom: 2rem;}
.news_img{
}
.media{
  padding: 5rem 3%;
}
.page-media{
 padding: 3%;   
}
.md_ul{
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.md_li{
}
.md_tag{
}
#news{
}

.news_single_h2,.product_single_h2{
  font-size: calc(100vw / 12);
  padding-top: 12%;
}
.page-news{
  padding: 3%;
}
.page-news_box{
  padding: 0;
}
.news_title_box{
    display: flex;
}
.news_btn_a{
    margin-left: 2rem;
}
.about_box_span{
  width: 100%;
}
.footer_box{
  align-items: center;
}
.footer_ul{
  flex-wrap: wrap;
}
.footer_li{
  width: 30%;
  padding-bottom: 1rem;
}
.footer_rc_ct_box{
  flex-direction: column;
}
.rc,.ct{
  width: 100%;
}

#about_header{
    height: calc(30vh - 65px);
}
.about_box{
  padding: 1rem 1rem 5rem;
  flex-direction: column;
  align-items: center;
}
.about_box_text{
  width: 100%;
  padding-bottom: 3rem;
}
#about_box_movie{
  padding: 0;
  width: 100%;
}
.details{
  flex-direction: column;
  width: 100%;
}
.about_dl{
  width: 100%;
  flex-direction: column;
}
.about_dl:last-child{
  padding: 0;
}
.about_dt{
  width: 100%;
  border-bottom: none;
  padding: 0.5rem 0.5rem 0;
}
.about_dd{
  width: 100%;
  padding: 0.5rem 0.5rem;
}
.about_founder_box_wrap{
  flex-direction: column;
}
.about_founder_box{
  width: 100%;
}
.group_box{}
.company_logo{
    width: 70%;
}
.logo_box{
}
.founder_position_jp{
}

.single::before,
.single::after{
  display: none;
}

/*page_product
------------------------------------------------*/
.product_box_in{
  flex-direction: column;
  width: 90%;
}
.product_box_960{
  display: flex;
  align-items: center;
  flex-flow: column;
  text-align: center;
  width: 100%;
}
.product_catch_a{
  width: 50%;
  padding-top: 2rem;
}
.page_title{
  padding: 0;
}
.product_box .page_title{
  padding: 0 5%;
}
.page_title_en{
  font-size: calc(100vw / 25);
  width: 50%;
}
.page_title_jp{
  font-size: calc(100vw / 25);
}
.page_tilte_span{
  width: 60px;
}
}

/*640px
------------------------------------------------*/
@media screen and (max-width:640px) {
  .sc_title_bl{
    text-align: center;
    padding-bottom: 2rem;
  }
  .sc_title_pt{
    text-align: center;
    padding-bottom: 2rem;
    padding-left: 0;
  }
  .sc_title_wh{
    text-align: center;
    padding-bottom: 5rem;
  }
  .h1_text_960{
    top: 20%;
}
  .top_h1{
    padding: 0.5rem;
    font-size: calc(100vw / 15);
  }
  .h1_text{
    align-items: center;
}
  .h1_p{
    font-size: calc(100vw / 12);
    padding: 0.5rem;
}
  header{height: 80vh;}
  #header{}
  .header_bg{
    height: 70vh;
}
  .h1_text{
  
  }
  .h1_p{
    
  }
  .ms_vl{
    padding-top: 9rem;
  }
  .news_ul{display: none;}
  .news_ul_sp,.br_640{
    display: block;
    padding-top: 3rem;
  }
  .mission{
    padding: 3%;
  }
  #project{
    padding: 5rem 3%;
  }
  .pj_img{
    width: 100%;
    padding-bottom: 2rem;
  }
  .contact_box{
    width: 100%;
  }
  .news_a{
    display: block;
    padding: 2rem 0.5rem;
}
  .news_box{
    padding: 0;
  }
  .date{
    padding-top: 0.5rem;
  }
  .tag{
    display: flex;
    padding-top: 0.5rem;
  }
  .news_title,.product_title{
    padding-top: 0.5rem;
  }
  .news_title_in, .product_title_in, .training_title_in{

  }
  .product_title_in img, .news_title_in img, .training_title_in img{
    bottom: -35%;
  }

  .news_single_h2,.product_single_h2{
    padding-top: 5%;
}

  #partner{

  }
  .pt_ul{
    justify-content: space-around;
    gap: 3rem;
  }

  #media_header{
    height: calc(50vh - 200px);
}
  .md_ul{
    display: block;
}
.md_li{
    margin-bottom: 3rem;
}
.md_img{
  height: 100%;
}
.md_tag{
  width: 20%;
}
.md_a{

}
.media{
  padding: 5rem 3%;
}
.md_top_h1{
  font-size: calc(100vw / 10);
}



.about_box_h2{
    font-size: calc(100vw / 10);
}
.about_bg_wh_l{width: 100%;}
.about_bg_wh_r{width: 100%;}
.founder_position_jp{}
.group_box{
    grid-template-columns: 1fr;
}
.company_logo{
    width: 70%;
}
.logo_box{
    padding: 3rem;
}
.coop_box{
  grid-template-columns: 1fr;
}
.group_span{
    padding: 0 1rem;
}
#footer{
  padding: 3rem 0 3%;
}
.footer_box{
    flex-direction: column;
}
.rc_p,.ct_p{
  font-size: calc(100vw / 10);
}
.footer_content_1{
    width: 100%;
}
.footer_content_2{
    width: 100%;
}
.sns{
    justify-content: center;
    width: 100%;
    padding: 1rem 0;
}
.footer_logo{
  width: 30%;
  margin: 0 auto;
}
.footer_img{
  text-align: center;
}
.footer_ul{
  width: 100%;
  flex-wrap: wrap;
  text-align: center;
  padding-top: 2rem;
}
.footer_li{
  width: 30%;
  padding-bottom: 1rem;
}
.privacy{
    justify-content: center;
    padding: 3rem 0 0 0;
}
.tag_span:nth-child(2){
    margin-left: 0.5rem;
}
.tag_span{display: block;}
#contact{
  padding: 0;
}
.contact{
    padding: 5rem 3%;
}
.pd_h1_text{
    align-items: center;
}
/*page_product
------------------------------------------------*/
.product_box_in{
  width: 94%;
}
.product_01{
  font-size: 50px;
}
.product_container_wrap{
  padding: 0 3%;
}
.page_title_en{
  font-size: calc(100vw / 20);
}
.page_title_jp{
  font-size: calc(100vw / 20);
}
.container_02_img{display: none;}
.container_02_img_sp{display: block;}
.octagon{
    height: 400px;
}
.octagon_box{
    flex-direction: column;
    padding: 1rem;
}
.octagon_box_p02{
    padding: 0 1rem 3rem;
}
.octagon_frame{}
.octagon_box_p{
    width: auto;
    padding: 1rem;
}
.button_01 a{
    margin: 3rem auto;
    max-width: 90%;
}
.product_container_in{
  padding: 10% 3%;
}
.product_container_01{
  padding: 10% 0;
}
.product_container_in h4 p{
  background: linear-gradient(transparent 50%, #4fb8cf50 100%);
  font-size: 1rem;
}
}

/*training_page
-------------------------------------------------------*/
#training{}
.training{}
.training_title{width: 100%;}

/* ヒーロー領域 */
.training_hero{
  background: linear-gradient(135deg, #3863D3 0%, #4FB8CF 100%);
  padding: 4rem 3rem;
  margin-top: 6rem;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 10px;
}
.training_hero_in{
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
}
.training_label{
  display: inline-block;
  background: #fff;
  color: #3863D3;
  font-size: 1.125rem;
  font-weight: bold;
  padding: 0.5rem 2rem;
  border-radius: 100px;
  margin-bottom: 1.5rem;
}
.training_hero_h2{
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1rem;
}
.training_hero_sub{
  font-size: 1.125rem;
  opacity: 0.9;
}

/* 研修概要 */
.training_overview{
  padding: 5rem 3rem;
  background: #fff;
}
.training_overview_in{
  max-width: 900px;
  margin: 0 auto;
}
.training_overview_in .page_title,
.training_curriculum_in .page_title{
  padding: 0;
}
.training_overview_in .page_title_en,
.training_curriculum_in .page_title_en{
  width: 35%;
}
.training_overview_content{
  padding-top: 3rem;
}
.training_overview_text{
  font-size: 1.125rem;
  line-height: 2;
  color: #282828;
}

/* カリキュラム一覧 */
.training_curriculum{
  padding: 5rem 3rem;
  background: #F5F7FD;
}
.training_curriculum_in{
  max-width: 900px;
  margin: 0 auto;
}
.training_list{
  padding-top: 3rem;
}
.training_item{
  background: #fff;
  border-radius: 10px;
  margin-bottom: 2rem;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  overflow: hidden;
}
.training_item_header{
  display: flex;
  align-items: center;
  padding: 1.5rem 2rem;
  background: linear-gradient(90deg, #3863D3 0%, #4FB8CF 100%);
  color: #fff;
}
.training_num{
  font-family: "Roboto", sans-serif;
  font-size: 2.5rem;
  font-weight: 300;
  margin-right: 1.5rem;
  opacity: 0.8;
}
.training_item_title{
  font-size: 1.375rem;
  font-weight: bold;
}
.training_item_body{
  padding: 2rem;
}
.training_item_desc{
  font-size: 1rem;
  line-height: 1.8;
  color: #282828;
  margin-bottom: 1.5rem;
}
.training_item_skill{
  background: #F5F7FD;
  padding: 1.5rem;
  border-radius: 8px;
  border-left: 4px solid #4FB8CF;
}
.training_skill_header{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.training_skill_label{
  font-size: 0.875rem;
  font-weight: bold;
  color: #3863D3;
}
.training_skill_name{
  display: inline-block;
  font-weight: bold;
  color: #fff;
  background: linear-gradient(135deg, #3863D3 0%, #4FB8CF 100%);
  font-size: 0.875rem;
  padding: 0.4rem 1rem;
  border-radius: 100px;
}
.training_skill_text{
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #282828;
  text-align: justify;
}

/* 上級編への案内 */
.training_next{
  padding: 3rem;
  background: #fff;
  text-align: center;
}
.training_next_in{
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
}
.training_next_text{
  font-size: 1rem;
  color: #282828;
}
.training_next_link{
  display: inline-block;
  background: #C3D0F2;
  color: #3863D3;
  font-weight: bold;
  padding: 0.75rem 2rem;
  border-radius: 100px;
  transition: all 0.3s;
}
.training_next_link:hover{
  background: #3863D3;
  color: #fff;
}

/* お問い合わせボタン */
.training_contact{
  padding: 5rem 3rem;
  background: linear-gradient(135deg, #3863D3 0%, #4FB8CF 100%);
  text-align: center;
}
.training_contact_in{
  max-width: 900px;
  margin: 0 auto;
}
.training_contact_text{
  font-size: 1.25rem;
  color: #fff;
  margin-bottom: 2rem;
}
.training_contact .button_01 a{
  background: #fff;
  color: #3863D3;
  border-bottom: solid 5px #1C3169;
  margin: 1rem auto;
}
.training_contact .button_01 a:hover{
  border-bottom: solid 2px #1C3169;
}
.training_contact_text{
  margin-bottom: 1rem;
}

/* レスポンシブ 960px */
@media screen and (max-width:960px) {
  .training_hero_h2{
    font-size: calc(100vw / 18);
  }
  .training_item_header{
    flex-direction: column;
    align-items: anchor-center;
    padding: 1rem 1.5rem;
  }
  .training_num{
    font-size: 1.5rem;
    margin-right: 0;
    margin-bottom: 0.5rem;
  }
  .training_skill_name{
    font-size: 1rem;
  }
  .training_item_title{
    font-size: 1.125rem;
  }
}

/* レスポンシブ 640px */
@media screen and (max-width:640px) {
  .training_hero{
    padding: 3rem 5%;
  }
  .training_hero_h2{
    font-size: calc(100vw / 15);
  }
  .training_hero_sub{
    font-size: 1rem;
  }
  .training_overview{
    padding: 3rem 5%;
  }
  .training_overview_text{
    font-size: 1rem;
  }
  .training_curriculum{
    padding: 3rem 5%;
  }
  .training_item_body{
    padding: 1.5rem;
  }
  .training_item_desc{
    font-size: 0.9375rem;
  }
  .training_skill_header{
    display: flex;
    align-items: anchor-center;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-bottom: 0.75rem;
    flex-direction: column;
    justify-content: flex-start;
  }
  .news_single_h1,
  .product_single_h1,
  .training_single_h1{
    font-size: 3rem;
  }
  .training_next{
    padding: 2rem 5%;
  }
  .training_next_in{
    flex-direction: column;
    gap: 1rem;
  }
  .training_contact{
    padding: 3rem 5%;
  }
  .training_contact_text{
    font-size: 1rem;
  }
}

/* 上級編カラーバリエーション */
.training_hero_advanced{
  background: linear-gradient(135deg, #1C3169 0%, #3863D3 100%);
}
.training_label_advanced{
  background: #fff;
  color: #1C3169;
}
.training_item_header_advanced{
  background: linear-gradient(90deg, #1C3169 0%, #3863D3 100%);
}
.training_contact_advanced{
  background: linear-gradient(135deg, #1C3169 0%, #3863D3 100%);
}

/* Productページ内の研修リンク */
.training_links{
  display: flex;
  gap: 1.5rem;
  padding-top: 2rem;
  flex-wrap: wrap;
  justify-content: center;
}
.training_link_btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  background: linear-gradient(135deg, #3863D3 0%, #4FB8CF 100%);
  color: #fff;
  padding: 1.5rem 3rem;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.3s;
  min-width: 180px;
}
.training_link_btn:hover{
  transform: translateY(-3px);
  box-shadow: 0 5px 20px rgba(56, 99, 211, 0.3);
}
.training_link_btn_advanced{
  background: linear-gradient(135deg, #1C3169 0%, #3863D3 100%);
}
.training_link_btn_advanced:hover{
  box-shadow: 0 5px 20px rgba(28, 49, 105, 0.3);
}
.training_link_label{
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.training_link_text{
  font-size: 0.875rem;
  opacity: 0.9;
}

@media screen and (max-width:640px) {
  .training_links{
    flex-direction: row;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
  }
  .training_link_btn{
    flex: 1;
    min-width: 0;
    padding: 1rem 0.5rem;
  }
}
