/*
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
*/

:root{
  --mn-fnc-001: #00002f;
  --mm-c-01: #1F90D4;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}

/*
body {
line-height: 1;
}
*/

ol, ul {
list-style: none;
}

blockquote, q {
quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
content: "";
content: none;
}

table {
border-collapse: collapse;
border-spacing: 0;
}

.group:after {
content: "";
display: table;
clear: both;
}

* {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}


/*
body, html {
position: relative;
width: 100%;
height: 100%;
}
*/


.text a {
color: #303030;
display: inline-block;
position: relative;
text-decoration: none;
}
.text a:hover {
color: #E0393D;
}
.text a:after {
content: "";
width: 100%;
height: 0px;
position: absolute;
bottom: 0;
display: block;
border-bottom: 2px solid #E0393D;
}

p {
margin: 10px 0;
line-height: 1.25;
}
p.pullquote {
width: 90%;
padding: 0 20px;
margin: 20px 0;
position: relative;
border-left: 2px solid #E0393D;
}

#content header {
background-color: white;
background-color: rgba(255, 255, 255, 0.5);
text-align: center;
position: relative;
/*  border-bottom: 1px solid #425563;*/
}

@media all and (max-width: 599px) {
#content header .logo {
  float: left;
  width: 50%;
  height: 100px;
  padding-top: 18px;
}
#content header .logo .fa {
  font-size: 48px;
}
}
#menu-button {
width: 100%;
margin-top: calc( 45vh - 140px );
display: inline-block;
position: absolute;
right: 0;
cursor: pointer;
text-align: center;
}
@media all and (max-width: 599px) {
#menu-button {
  width: 15%;
  height: 17.18vw;
  padding-top: 16px;
  top:1px;
   margin: 0; 

}}
#menu-button .icon {
height: 34px;
overflow: hidden;
}
#menu-button .icon img{
width: 40px;
height: 30px;	
}

@media (max-width: 768px){
#menu-button .icon {
height: 35px;
}}


#menu-button .fa {
display: block;
position: relative;
transition: all 0.2s;
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
margin: 0;
}
/*
#menu-button .fa.fa-arrows-alt {
font-size: 44px;
}
#menu-button:hover .fa-bars {
margin-top: -48px;
}
*/
#content header .title {
width: 50%;
height: 150px;
display: inline-block;
padding-top: 40px;
}
@media all and (max-width: 599px) {
#content header .title {
  width: 100%;
  height: auto;
  padding: 20px 5px;
  margin-top: 100px;
}
}


#content .text {
padding: 5%;
max-width: 800px;
margin: auto;
}
/*開く前*/
/* #menu {
background: rgba(255,255,255,0.9);
backdrop-filter: blur(20px);
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 0;
opacity: 0;
z-index: 1;
text-align: center;
transition: all 0.5s;
overflow: hidden;
position: fixed;


}
@media all and (max-width: 599px) {
#menu {
position: absolute;
}} */

/*開くいた後*/




#menu {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
background: rgba(255,255,255,0.9);
backdrop-filter: blur(20px);
  z-index: 1000;
  overflow: hidden;
}

#menu.open {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.menu_c {
  width: 100vw;
  max-width: 830px;
  max-height: 100vh;
  overflow-y: auto;
  margin: 0 auto;
  display: block;
}

@media all and (max-width: 599px) {
  #menu, #menu.open {
    max-width: 100vw;
    height: 100vh;
    max-height: 100vh;
    padding: 0;
    flex-direction: row;
   align-items: stretch;
  }
  .menu_c {
    max-width: 100vw;
    padding: 0 8px;
  }
  .float_l, .float_r {
    float: none !important;
  }
}




@media (max-width: 768px){
.menu_c{	
margin: 15.18vw 0 0;
position: relative;
}}

.menu_in{
/* display: table-cell; */
 display: block;  
vertical-align: middle;
}
.menu_line{
display: block;
width: 90%;
margin: auto;	
max-width: 830px;
border-top: 1px solid var(--mn-fnc-001);
border-bottom: 1px solid var(--mn-fnc-001);
padding: 30px 40px;	
}
@media (max-width: 768px){
.menu_in{
position:absolute;
}


.menu_line{
width: 100%;
padding: 2vw 10vw 10vw;
border-bottom: 2px solid var(--mn-fnc-001);	
}}

#menu #close {
width: 160px;
height: 150px;
position: absolute;
top: 0;
/*  right: 0;*/
  left: 0;
color: var(--mn-fnc-001);
text-align: center;
padding: 45vh 0 50vh;
cursor: pointer;
}
#menu #close img{
width: 40px;
height: 34px;	
}


@media all and (max-width: 599px) {
#menu #close {
  width: 100%;
  padding-top: 0px;
  height: 15.18vw;
  text-align: right;
padding-right:4%;
padding: 0;	  
position: fixed;
}
#menu #close img{
margin: 4% 3% 3%;
}}

#menu #close .fa {
display: block;
line-height: 60px;
}
#menu ul {
display: block;
width: 50%;
/*  max-width: 800px;*/
margin: auto;
text-align: left;	
font-size: 18px;
color: var(--mn-fnc-001);
border-left: 1px dotted var(--mn-fnc-001);
padding-left: 2.5%;	
}

#menu ul.rclt-txt{
border-left: 0px dotted var(--mn-fnc-001);
}

@media all and (max-width: 599px) {
#menu ul {
  margin-top: 15px;
  width: 100%; 
  font-size: 20px;
border-left: 0px dotted var(--mn-fnc-001);
padding-left: auto;
border-bottom: 1px dotted var(--mn-fnc-001);
margin-bottom: 25px;
}}

#menu ul li {
display: inline-block;
width: 100%;
font-size: 15.5px;	
/*  float: left;*/
line-height: 28px;
text-align: left;
/*  border-bottom: 1px solid rgba(37, 55, 70, 0.5);*/
}




@media all and (max-width: 599px) {
#menu ul li {
  width: 100%;
font-size: 18px;		
  line-height: 38px;
}}

/*
#menu ul li:nth-of-type(even) {
border-left: 1px solid rgba(37, 55, 70, 0.5);
}
@media all and (max-width: 599px) {
#menu ul li:nth-of-type(even) {
  border-left: none;
}}
*/
#menu  a {
text-decoration: none;
display: block;
/*
width: 100%;*/
height: 100%;

color: var(--mn-fnc-001);
position: relative;
display: inline-block;	
}
#menu  a.rclt-txt,.menu_tit.rclt-txt {
color: var(--mm-c-01);  
}
#menu  a.rclt-txt {
font-weight: 600;  
}


#menu  a::after {
position: absolute;
bottom: 0px;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #73A1D7;
transform: scale(0, 1);
transform-origin: left top;
transition: transform .3s;
}
#menu  a:hover::after {
transform: scale(1, 1);
}


#menu ul li img{
width: 80%;
}
#menu ul li a img::after {
height: 0px;
background: rgba(0,0,0,0.00);	
}
@media all and (max-width: 599px) {
#menu ul li a img{
width: 77vw;
}}



.menu_tit{
margin-bottom: 0.6em;
font-weight: 600;
}


.menu_in001, .menu_in002, .menu_in003, .menu_in004{overflow:auto;
margin-bottom: 30px;
padding-bottom: 5px;	
}
.menu_in004{
margin-bottom: 0px;
padding-bottom: 5px;
padding-top: 30px;	
 border-top: 1px solid var(--mm-c-01);
 color: var(--mm-c-01);
}

@media (max-width: 768px){
  .menu_in001, .menu_in002, .menu_in003, .menu_in004{
    margin-bottom: 0px;
border-bottom:0px dotted #000062;
}
.menu_in004{
border-bottom:0px dotted #000062; 
margin-bottom: 2rem;
}
}

.float_l{ float: left }
.float_r{ float: right }

.men_btn_txt{
font-family: 'Oswald', sans-serif;
font-weight: 300;
color: #655A87;
font-size: 14px;	
}

#side_logo{
text-align: center;
bottom: 2em;
position: absolute;
/* border-top: 1px solid #333333; */
/* width: 25%; */
/* margin: 0px 0px 15px 60px; */
width: 100%;
margin: 0px auto 15px;
padding-top: 10px;
}
@media (max-width: 768px){
#side_logo{
text-align: center;
bottom: 2em;
position: absolute;border-top: 0px solid #333333;
width: 25%;
margin: 0px 0px 0 60px;
padding-top: 10px;
}
}

#side_logo img{
  width: 100%;
}








