/*
Theme Name: Understrap
Theme URI: https://understrap.com
Author: Howard Development &amp; Consulting
Author URI: https://howarddc.com
GitHub Theme URI: https://github.com/understrap/understrap
Description: The renowned WordPress starter theme framework that combined Underscores and Bootstrap. Trusted by more than 100,000 developers for building handcrafted, custom WordPress sites.
Version: 1.2.4
Requires at least: 5.0
Tested up to: 6.1
Requires PHP: 5.2
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: understrap
Tags: one-column, two-columns, three-columns, left-sidebar, right-sidebar, custom-background, custom-logo, custom-menu, featured-images, footer-widgets, full-width-template, theme-options, translation-ready, block-styles, wide-blocks, editor-style, threaded-comments, accessibility-ready

Understrap WordPress Theme, (C) 2021 Howard Development & Consulting, LLC
Understrap is distributed under the terms of the GNU GPL.

Resource Licenses:
Understrap is based on Underscores https://underscores.me/, (C) Automattic, Inc.
Font Awesome: https://fontawesome.com/v4.7/license/ (Font: SIL OFL 1.1, (S)CSS: MIT)
Bootstrap: https://getbootstrap.com | https://github.com/twbs/bootstrap/blob/master/LICENSE (MIT)
WP Bootstrap Navwalker by Edward McIntyre & William Patton: https://github.com/twittem/wp-bootstrap-navwalker (GNU GPLv3)
*/

/*
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;
}

/**
 * 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:hover{
  text-decoration: none;
  color: #4A67A7;
}
body{font-family: "Jost","Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;}


.sc_title_w{
    text-align: center;
    padding-bottom: 3rem;
    color: #fff;
}
.sc_title_h2_w{font-size: 3.125rem;}
.sc_title_p_w{
    font-size: 1.25rem;
}

.sc_title_p{
  font-size: 1.875rem;
  color: #4A67A7;
  text-align: center;
}

.sc_title{
    padding-bottom: 5rem;
}
.sc_title_h2{
    font-size: 4.375rem;
    color: #4A67A7;
    text-align: center;
}

header{padding-top: 92px;}
.header{
  text-align: center;
  background: url(/wp-content/uploads/2024/06/StJOSEPH2.png);
  height: 100vh;
  background-size: contain;
  background-position: center;
}
#menu-menu1{
}
.header_menu{
    display: flex;
    justify-content: space-around;
    background: #1D2184;
    padding: 1%;
    position: fixed;
    width: 100%;
    z-index: 999;
    height: 92px;
    align-items: center;
}




nav{
  color:#fff;
  text-align: center;
}

nav ul{
  list-style: none;
  display: flex;
  justify-content: center;
}

nav ul ul{
  display: block;
}


nav ul li{
  position: relative;
}


nav ul li a{
  display: block;
  text-decoration: none;
  padding:20px 35px;
  transition:all .3s;
}

nav ul li li a{
  padding:10px 35px;
  border-top: none;
}

nav ul li a:hover{
  color:#fff; 
}




nav ul li.has-child::before{
  content:'';
  position: absolute;
  left:15px;
  top:25px;
  width:6px;
  height:6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(135deg);
}


nav ul ul li.has-child::before{
  content:'';
  position: absolute;
  left:6px;
  top:17px;
  width:6px;
  height:6px;
    border-top: 2px solid #fff;
    border-right:2px solid #fff;
    transform: rotate(45deg);
}



nav li.has-child ul{
  position: absolute;
  left:0;
  top:62px;
  z-index: 4;

  background:#28BFE7;
  width:180px;

  visibility: hidden;
  opacity: 0;

  transition: all .3s;
}


nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}


nav li.has-child ul li a{
  color: #fff;
  border-bottom:solid 1px rgba(255,255,255,0.6);
}

nav li.has-child ul li:last-child > a{
 border-bottom:none;
}

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active,
nav ul li a:hover{
  background:#3577CA;
}



nav li.has-child ul ul{
  top:0;
  left:182px;
  background:#66ADF5;
}

nav li.has-child ul ul li a:hover,
nav li.has-child ul ul li a:active{
  background:#448ED3;
}





.menu_logo{
    width: 100px;
}

.menu_logo a{
    width: 100%;
    display: block;
}

.menu_img{}


.header_img_in{
    object-fit: contain;
    height: 100%;
}

#about{
    background: url(/wp-content/uploads/2024/04/a61-731x1024-1.jpg) no-repeat;
    height: 100%;
    background-size: cover;
    color: #fff;
}
.about{
  background: rgb(0 0 0 / 50%);
}
.about_in{
  padding: 5rem;
  max-width: 900px;
  margin: 0 auto;
}
.about_span{
    letter-spacing: 0.1em;
    line-height: 1.5em;
    font-weight: bold;
}

#sns{
    background: #4A67A7;
    color: #fff;
    padding: 1rem;
}
.sns{padding: 1rem;border: solid 1px #fff;}
.sns_box{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.yazirusi {
  display: flex;
  font-size: 1.875rem;
  font-weight: bold;
  padding-left: 2rem;
  position: relative;
} 
.yazirusi::after {
  content: '';
  width: 358px;
  height: 30px;
  border-bottom: solid 2px;
  border-right: solid 2px;
  transform: skew(55deg);
  position: absolute;
  left: 5%;
  top: 35%;
}

.sns_h2{}
.menu_sns_icon{
  display: flex;
  width: 100px;
  justify-content: center;
  color: #282828;
}
.sns_icon,.sns_icon{
    display: flex;
    width: 20%;
    justify-content: center;
    color: #282828;
}
.sns_a{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F5F7FD;
  border-radius: 999px;
  aspect-ratio: 1 / 1;
  font-size: 1.5rem;
  height: 50px;
}
.sns_a:hover{
  background: none;
  border: solid 2px #F5F7FD;
  color: #F5F7FD;
}
.fb_icon{margin-right: 2rem;}
.inst_icon{
}

#profile{
    max-width: 900px;
    margin: 0 auto;
}
.profile{
    padding: 5rem 0;
}
.profile_box{
    display: flex;
    padding-bottom: 5rem;
    align-items: stretch;
}
.profile_name{
    width: 80%;
    padding: 0 2rem;
    text-align: center;
}
.profile_img{height: 100%;width: 100%;}
.profile_img_in{
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.profile_name_jp{
    font-size: 1.875rem;
    font-weight: bold;
    padding-top: 0.5rem;
}
.profile_name_en{}
.profile_career{width: 100%;}
.profile_dl{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}
.profile_dt{
    width: 30%;
    padding: 1rem;
    border-bottom: solid 1px #87AECA;
}
.profile_dd{
    width: 70%;
    padding: 1rem;
    border-bottom: solid 1px #87AECA;
    margin: 0;
}

.profile_btn {
  font-size: 16px;
  font-weight: 200;
  letter-spacing: 1px;
  padding: 13px 20px 13px;
  outline: 0;
  border: 1px solid black;
  cursor: pointer;
  position: relative;
  background-color: rgba(0, 0, 0, 0);
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  width: fit-content;
  margin: 5% auto;
  color: #fff;
  text-align: center;
  display: block;
}

.profile_btn:after {
  content: "";
  background-color: #4A67A7;
  width: 100%;
  z-index: -1;
  position: absolute;
  height: 100%;
  top: 7px;
  left: 7px;
  transition: 0.2s;
}

.profile_btn:hover:after {
  top: 0px;
  left: 0px;
}

@media (min-width: 768px) {
  .profile_btn {
    padding: 13px 50px 13px;
  }
}

.gallery_btn {
  font-size: 16px;
  font-weight: 200;
  letter-spacing: 1px;
  padding: 13px 20px 13px;
  outline: 0;
  border: 1px solid black;
  cursor: pointer;
  position: relative;
  background-color: rgba(0, 0, 0, 0);
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.gallery_btn:after {
  content: "";
  background-color: #fff462;
  width: 100%;
  z-index: -1;
  position: absolute;
  height: 100%;
  top: 7px;
  left: 7px;
  transition: 0.2s;
}

.gallery_btn:hover:after {
  top: 0px;
  left: 0px;
}
.profile_span{
  color: #fff;
  font-weight: bold;
}

@media (min-width: 768px) {
  .gallery_btn {
    padding: 13px 50px 13px;
  }
}

.profile_span{}

#gallery{
    padding-bottom: 5rem;
}
.gallery{}
.gallery_p{
    text-align: center;
}

.gallery_slider{
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem 0;
}

.gallery_btn{
    width: fit-content;
    margin: 5% auto;
    color: #fff;
    text-align: center;
    display: block;
}
.gallery_a{
}
.gallery_span{
  color: #282828;
  font-weight: bold;
}

#class{
    max-width: 960px;
    margin: 0 auto;
    padding-bottom: 5rem;
}
.class{}
.class_span{
    display: block;
}
.class_title{
    margin: 2rem 0;
    border-bottom: solid 1px #87AECA;
    width: fit-content;
    padding: 0.5rem;
}
.sc_title_h3{
    font-size: 1.875rem;
    color: #4A67A7;
    text-align: center;
    font-weight: bold;
}
.class_box{
    font-size: 1.125rem;
    padding-bottom: 2rem;
}
.class_ul{
    display: grid;
    grid-template-rows: 2fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
.class_li{
  padding: 1rem 0;
  position: relative;
}
.class_li:not(:nth-child(5)):not(:nth-child(6)) {
  border-bottom: solid 1px #87AECA;
}


.class_li:nth-child(1)::after,
.class_li:nth-child(5)::after {
  content: "";
  display: block;
  position: absolute;
  right: 30%;
  top: 0;
  height: 100%;
  width: 1px;
  background-color: #87AECA;
}





.class_dl{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.class_dt{
    width: 30%;
    padding: 1rem 0.5rem;
    border-bottom: solid 1px #87AECA;
}
.class_dd{
    width: 60%;
    border-bottom: solid 1px #87AECA;
    padding: 1rem 0;
    margin: 0;
}

#contact{
    background: #87AECA;
}
.contact{max-width: 600px;margin: 0 auto;color: #fff;padding: 5rem 0;}
.contact_p{
    text-align: center;
    padding: 3%;
}
.form_span{
    background: #c00000;
    padding: 0 0.5rem;
    border-radius: 10px;
    margin-left: 1rem;
}
.contact_tell{
    display: flex;
    justify-content: space-evenly;
    padding: 5rem;
    align-items: center;
}
.tell_p{
    font-weight: bold;
}
.contact_tell_box{
    font-size: 1.875rem;
}
.contact_tell_box:hover{
  color: #4A67A7;
}
.tell_a{}
.tell_number{
    padding-left: 1rem;
}

.mail_box{}
.mail_contact{
    display: flex;
    align-items: center;
}
.mail_icon{
    font-size: 2rem;
}
.mail_p{
    padding-left: 1rem;
    font-weight: bold;
}

.form_box{
}

input[type=text] {

background: #fff;

padding: 0.5rem;

border-radius: 10px;

width: 100%;

margin-top: 0.5rem;

color: #000;

}
  input[type=email] {
  
background: #fff;
  
padding: 0.5rem;
  
width: 100%;
  
border-radius: 10px;
  
margin-top: 0.5rem;
  
color: #000;
  }
  input[type=tel] {
  
background: #fff;
  
padding: 0.5rem;
  
width: 100%;
  
border-radius: 10px;
  
margin-top: 0.5rem;
  
color: #000;
  
}
  textarea{
    background: #fff;
    padding: 0.5rem;
    width: 100%;
    border-radius: 10px;
    margin-top: 0.5rem;
    color: #000;
  }

  #access{
    background: #4A67A7;
}
  .access{
    padding: 5rem 0;
    max-width: 900px;
    margin: 0 auto;
}
  .access_span{
    color: #fff;
}
  .access_address{
    padding: 2rem 0;
    font-weight: bold;
    text-align: center;
    font-size: 1.25rem;
}
  .access_box{
    color: #fff;
    width: fit-content;
    margin: 0 auto;
}
  .access_box_in{
    padding-bottom: 1rem;
}
  .access_p{}
  /* Google Map*/
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; 
}
 
/* Google Map*/
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

  #footer{
    background: #1D2184;
    padding: 4rem 2rem 0;
}
  .footer{
    color: #fff;
}
  .footer_box{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

  .footer_box1{
    width: 20%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
  .footer_logo{padding-bottom: 1rem;}
  .footer_logo_a{
}
  .footer_img{
}
 
  .footer_box2{
    width: fit-content;
}
  .footer_address{padding-left: 1rem;}
.footer_address_box{
    display: flex;
    padding-bottom: 1rem;
}
.address_icon{
    font-size: 2rem;
}

  .footer_tel{}
  .tell_box{
    display: flex;
    align-items: center;
  }
  .tell_box:hover{
    color: #4A67A7;
  }
  .footer_tel_icon{
    font-size: 2rem;
}
  .tell_a{}
  .footer_tell_number{
    padding: 1rem;
    display: block;
}

  .footer_box3{
    width: 50%;
}
  .footer_ul{
    display: flex;
    justify-content: space-evenly;
}
  .footer_li{}
  .footer_li:hover{
    border-bottom: solid 2px #fff;
  }

  .copy{
    text-align: center;
    padding: 2rem 0;
    color: #fff;
}
.nav-wrapper,.slider_640,.br_640,.hamburger_menu{
  display: none;
}

/*page-profile
---------------------------------------------------------*/
#page-profile{
    padding-top: 65px;
}
.page-profile{}
.page-profile_message{
  background: url(/wp-content/uploads/2024/08/message.jpg) no-repeat;
  height: 100%;
  background-size: cover;
  color: #fff;
}
.page-profile_message_in{
  background: rgb(0 0 0 / 50%);
}
.page-profile_message_box{
  max-width: 900px;
  margin: 0 auto;
  padding: 5rem 0;
}
.page-profile_span{
  letter-spacing: 0.1em;
  line-height: 1.5em;
  font-weight: bold;
}
.page-profile_p{
    text-align: right;
    padding-top: 2rem;
    font-weight: bold;
}
.page-profile_box_wrap{
  max-width: 900px;
  margin: 5rem auto;
}
.page-profile_box{
  display: flex;
  padding-bottom: 5rem;
  align-items: stretch;
}
.page-profile_work{
    background: #87AECA;
    color: #fff;
}
.profile_work_in{
    padding: 5rem 0;
}

.profile_work_box{
    max-width: 900px;
    margin: 0 auto;
    padding: 2%;
}
.profile_work_dl{display: grid;grid-template-columns: 1fr 1fr;}
.profile_work_dt{
    font-size: 1.25rem;
    padding-bottom: 0.5rem;
}
.profile_work_dd{
    font-size: 1.25rem;
    padding-bottom: 0.5rem;
}

.wp-block-table{
  
}
.wp-block-table table{
    border: none;
    color: #fff;
}
tbody{}
tr{}
.wp-block-table table td{
  border: none;
}

/*page_gallery
------------------------------------------------*/
.entry-content{
  display: flex;
  flex-wrap: wrap;
}
figure.wp-block-gallery.has-nested-images{
  width: 50%;
}
.wp-block-group{
  aspect-ratio: 1 / 1;
}

#page_gallery{
    padding-top: 65px;
}
.page_gallery{
    padding: 5rem 0;
    margin: 0 auto;
}
.page_gallery_p{
    text-align: center;
    padding: 5%;
}
.page_gallery_box{
    padding: 3rem 0 0;
}
.page_gallery_title{
    display: flex;
    justify-content: space-evenly;
    background: #4A67A7;
    color: #fff;
    padding: 0.5rem 1rem;
    margin-bottom: 3rem;
}
.gallery_title_h2{
    font-size: 1.875rem;
    display: flex;
    align-items: center;
}

.gallery_title_p{
    font-size: 1.25rem;
}
.page_gallery_content_box{
    display: grid;
    padding: 0 3rem 3rem;
    grid-template-columns: 1fr 1fr;
    max-width: 900px;
    margin: 0 auto;
    gap: 0 5%;
}
.page_gallery_content{
  padding: 0 3%;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3; 
  gap: 3%;
}
.gallery_content {
  display: grid;
  gap: 2%;
  grid-template-rows: 1fr auto;
}
.gallery_img_l {
  position: relative;
}
.gallery_img_l::after {
  font-family: 'Font Awesome 5 Free';
  content: '\f00e';
  display: inline-block;
  font-weight: 900;
  font-size: 24px;
  color: #fff;
  position: absolute;
  bottom: 5%;
  right: 5%;
}
.gallery_img_1 {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
}
.gallery_img_box {height: fit-content;}
.gallery_box_text {
  padding: 3rem 0 2%;
}
.building_name {
  font-weight: bold;
}
.caption {}
.gallery_img_sbox {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  align-items: start;
  gap: 2%;
  padding-bottom: 4%;
}
.gallery_img_s {
    position: relative;
}
.gallery_img_s::after {
  font-family: 'Font Awesome 5 Free'; 
  content: '\f00e';  
  display: inline-block;
  font-weight: 900;  
  font-size: 16px;   
  color: #fff;
  position: absolute;
  bottom: 0;
  right: 5%;
}
.gallery_img_s:nth-child(2) {
  padding: 0;
}
.gallery_img_2 {
  aspect-ratio: 1 / 1;
  height: 100%;
  width: 100%;
  object-fit: cover;
}


/*page-item
---------------------------------------------------------*/
.page_item_content_box{
  padding: 1rem 0;
  height: 100%;
}
.page_item_content{
    display: flex;
}
.page_gallery_wrap{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding: 3%;
    justify-items: center;
}
.page_gallery_item_box{
  margin: 3rem 3% 0;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  background: #f5f8fa;
  padding: 0 5%;
}

/*modal
---------------------------------------------------------*/
.modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0 0 0 / 90%);
}

.modal_content {
  margin: 10% auto;
  /* background-color: #fefefe; */
  padding: 20px;
  /* border: 1px solid #888; */
  width: fit-content;
  position: relative;
}

.modal_image {
  width: 100%;
  height: auto;
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 80px);
  object-fit: contain;
}

.close {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #4a67a7;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
  z-index: 1001; 
}

.close:hover {
  color: #4a67a7;
  background-color: #fff;
}

.gallery_img_1:hover,
.gallery_img_2:hover,
.close:hover {
  cursor: pointer;
}

/*Contact Form7
------------------------------------------------*/

.wpcf7 input[type=submit] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-size: 20px;
  font-weight: bold;
  width: 200px;
  text-align: center;
  background: #4A67A7;
  width: fit-content;
  margin: 3rem auto;
  padding: 0.5rem 3rem;
  border-radius: 999px;
  color: #fff;
  border: none;
  display: block;
}

span.wpcf7-spinner {
  display: none;
}

.wpcf7 input[type=submit]:hover{
background: none;
border: solid 1px #fff;
color: #fff;
}

.wpcf7 input[type=submit]:not(:disabled):not(.disabled):active{
  background: none;
  border: solid 1px #fff;
  color: #fff;
}
.wpcf7 input[type=submit]:focus{
  box-shadow: none;
}


/*960px
------------------------------------------------*/
@media screen and (max-width:960px) {
  .menu{
  }
  .sns_icon{
    padding: 3%;
  }
  .fb_icon{
    margin-right: 1rem;
  }
  .profile_dl{
    flex-direction: column;
  }
  .profile_dt{
    border: none;
    padding: 1rem 1rem 0;
    width: 100%;
  }
  .profile_dt:first-child{
    padding: 0 1rem 0;
  }
  .profile_dd{
    padding: 0.5rem 1rem 1rem;
    width: 100%;
  }
  .profile_career{
    width: 50%;
    padding: 3% 3% 3% 0;
  }
  .profile_name{
    width: 50%;
    padding: 3%;
  }
  .class{
    padding: 3%;
  }
  .mail_box{
    padding: 5%;
  }
  #footer{
    
  }
  .footer_li{
    padding-right: 1rem;
  }
  .footer_box{
    flex-direction: column;
  }
  .footer_box1{
    padding-bottom: 1rem;
    width: 100%;
}
  .footer_logo{width: 200px;}
  .footer_box2{}
  .footer_box3{
  padding: 3% 0 0;
  width: 100%;
  }
  .tell_box{
    justify-content: center;
  }

  /*page-profile
  ---------------------------------------------------------*/
  .page-profile_message_box{
    padding: 5rem 5%;
  }
  .profile_work_dl{
    padding: 3%;
    display: flex;
    flex-direction: column;
    width: fit-content;
    margin: 0 auto;
  }
  .profile_work_dt{
    width: fit-content;
}
  .profile_work_dd{
    width: fit-content;
}

/*page-gallery
---------------------------------------------------------*/
.page_gallery_content_box{
  padding: 3%;
  gap: 0;
}
.page_gallery_content{
  width: 100%;
}

.page_gallery_wrap{grid-template-columns: 1fr 1fr;}
.page_gallery_item_box{
  width: 100%;
}
.page_item_content_box{
  padding: 0;
}
.page_item_content{
  padding: 0;
}
.gallery_img_sbox{grid-template-rows: 1fr;}

/*page-item
---------------------------------------------------------*/
.page_gallery{
}

.page_gallery_item_box{
  background: #fff;
}

}


/*640px
------------------------------------------------*/
@media screen and (max-width:640px) {
  .nav-wrapper,.br_640{
    display: block;
  }

  header{
    padding: 0;
  }

  li {
    list-style-type: none;
  }

  .menu_sns_icon_sp{
    display: flex;
    justify-content: space-evenly;
}
  .sns_a{
    height: 60px;
    font-size: 2rem;
}
  .sns_a:hover{
  background: none;
  border: solid 2px #1D2184;
  color: #1D2184;
}

  .menu_li{
    font-size: 1.25rem;
}

.about{
  padding: 5rem 8%;
}

.about_in{
  padding: 0;
}

.yazirusi{font-size: 1.25rem;padding: 0;}
.sns_box{
    flex-direction: column;
}
.yazirusi::after{display: none;}
.inst_icon{
    margin-right: 1rem;
}

.profile_box{
  flex-direction: column;
  padding-bottom: 1rem;
}

.contact_tell{
    flex-direction: column;
    padding: 5rem 3%;
}
.contact_tell_box{
  padding: 3%;
}
.access{
  padding: 5rem 8%;
}
.access_address{
  text-align: left;
  width: fit-content;
  margin: 0 auto;
}

/*hamburger
--------------------------------------*/
.header_menu,.menu_sns_icon{display: none;}
.hamburger_menu{display: block;}

.has-child_sp{}
.menu_logo{margin: 0 auto;padding-bottom: 5%;}
nav ul{
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-evenly;
}

nav ul li a {border-top: 1px solid #ccc;/* border-bottom: none; */}



.openbtn1{
position: fixed;
background:#57a2c7;
cursor: pointer;
width: 50px;
height:50px;
border-radius: 5px;
right: 3%;
top: 3%;
z-index: 999;
}


.openbtn1 span{
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
background: #fff;
  width: 45%;
}

.openbtn1 span:nth-of-type(1) {
top:15px; 
}

.openbtn1 span:nth-of-type(2) {
top:23px;
}

.openbtn1 span:nth-of-type(3) {
top:31px;
}


.openbtn1.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}

.hamburger_menu {position: fixed;right: -250px; height: 100%;background-color: #1D2184;transition: right 0.3s;}

.hamburger_menu.active {right: 0;padding-top: 100px;z-index: 2;width: 70%;}

/*page-profile
---------------------------------------------------------*/
.sns_icon{
  width: 100%;
  justify-content: space-evenly;
}
#page-profile{padding: 0;}
.page-profile_box{
  flex-direction: column;
}
.profile_name{
  width: 100%;
}
.profile_career{
  width: 100%;
}
.page-profile_box_wrap{
  margin: 0 auto;
  padding-top: 5rem;
}
.wp-block-table table td{
  border-bottom: solid 1px #fff;
}

/*xo-slider
---------------------------------------------------------*/
.slider_640{
  display: block;
}

/*page-gallery
---------------------------------------------------------*/
.sc_title{
}
.page_gallery_title{
  flex-direction: column;
  width: 80%;
}
.gallery_title_h2{
  text-align: center;
}
.gallery_content{display: block;}
.modal_content{
  margin: 100px auto;
}
.gallery_img_box{grid-template-rows: 1fr;padding: 0;}
.gallery_img_s{padding: 0;}
.gallery_btn{
    margin-right: 2rem;
}

.page_gallery_content_box{
  grid-template-columns: 1fr;
}
.page_gallery_box{
  padding: 5rem 0 0;
}

.page_gallery_wrap{
  grid-template-columns: 1fr;
  justify-items: center;
}

.gallery_span,.profile_span{
  font-size: 0.8rem;
}
.gallery_img_l{
  padding-bottom: 1rem;
}


}