@charset "utf-8";
  @import "the-new-css-reset.css";


:root { --max-container: 1200px; 
/* color */ 		
	--red:rgba(230,0,18,1.00);
	--blue:rgba(0,54,127,1.00);
	--black:rgba(0,0,0,1.00);
	--white:rgba(255,255,255,1.00);
	--paleblue:rgba(211,233,249,1.00);
	--text-color: rgba(0,0,0,1.00);
}

/* STYLE */ 

/* Basic Layout */ 
.wrap { width: min(100%, var(--max-container)); 
		margin-inline: auto; 
		background-color: var(--white);
}		

html {
	overflow-x: hidden;
    overflow-y: scroll;
    width: 100%;
	font-size: 62.5%; 	
}
.wrap {
	overflow-x:clip;
}

body {
	position: relative;
	margin: 0;
	padding: 0;
	color: var(--text-color);
    font-size: 1.4rem;
    font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    background-color: var(--white);
    width: 100%;
	overflow-x: hidden;
}

@media (min-width: 1200px){
	body 
		{ background-color: var(--paleblue);
		}
	}	

.content-wrap {
	display: flex;
	margin: 30px 40px;
	column-gap: 30px;	
	overflow-x: hidden!important;
	
	/* no-scrollbar */
	-ms-overflow-style: none!important; /* Edge */
  	scrollbar-width: none!important;    /* Firefox */
	}

.content-wrap::-webkit-scrollbar {
  display: none; /* Chrome, Safari */
	}

/* Link */ 

a:link, a:visited  {
	color: var(--blue);
    text-decoration: none;
	font-weight: 600;
	font-size: 1.3rem;
}

.a-cont01 {
	border-bottom: solid 1px var(--blue);
	display: inline-block;
	width:auto;
}
.a-cont01:hover{
	border-bottom: solid 1px var(--red);
}
.a-box{
	width: 400px;
	margin-top: 10px;
	}	

/* header */

header {
	width: 100%;
	position: relative;
    margin: 0 auto;
	height: 105px;

}

/*
@media all and (-ms-high-contrast:none) { for IE11
#header_frame {
    height: 17.3vw;
    max-height: 159px;
}
*/

#sjnclogo {
    position: absolute;
    top: 20px;
    left: 38px;
    margin: 0;
    width: auto;
    max-height: 30px;
    float: left;	
}
@media only screen and (min-width: 481px) and (max-width: 889px){
	#sjnclogo {
	left: 19px;
}
}
#sjnclogo img {
    width: auto;
	max-height: 38px;
}
/* toggle close */
#header-logo {
		position: relative;
		z-index: 2000;
	}
/* toggle open */
#header-logo.is-open {
		z-index: 3;
}	

#header-ism {
    position: absolute;
    top: 26px;
	right: 35px;
    width: auto;
}

#img-ism  {
	width: auto;
	max-height: 26px;
	float:right;
}
/* toggle close */
#imgism {
		position: relative;
		z-index: 1000;
	}
/* toggle open */
	#imgism.is-open {
		z-index: 2;
}

/*　global-menu */

.global-menu ul {
	display: flex; 
	list-style: none;
	padding: 0;
	margin: 0;
	justify-content: center; 
	background-color: var(--blue);
	margin-top: 20px;
}

.global-menu li a {
	display: block; 
	padding: 5px 60px; 
	text-decoration: none;
	color: var(--white);
	font-size: 1.6rem;	
}

.global-menu li a:hover {
	background-color: var(--paleblue);
	color: var(--blue);	
}

@media only screen and (max-width: 1119px) {
	.global-menu li a {
		padding: 5px 3.5vw; 
	}	
}
	
@media only screen and (max-width: 768px) {
	.global-menu li a {
		padding: 5px 2vw;
		font-size: 1.4rem;
	}	
}	

@media only screen and (max-width: 560px) {
	.global-menu li a {
		padding: 5px 2vw; 
		font-size: 1.2rem;
	}	
}	
/*　global-menu end */


/* wrap3 */
#wrap3 {
	width: 100%;
	max-width:1200px;
}

/* main */
main {
	flex:1 1 75%;
    text-align: left;
    margin: 0 auto;
    padding: 0; 
    overflow-x: hidden;  
	overflow-y: scroll;
	
	/* no-scrollbar */
	-ms-overflow-style: none!important; /* Edge */
  	scrollbar-width: none!important;    /* Firefox */
	}

.main::-webkit-scrollbar {
  display: none; /* Chrome, Safari */
	}

#wrap3 { 
	width: 100%;
	max-width:1200px;
}
.a-box { 
	width: 200px;
	margin-top: 10px;
	}

main h1 {
    margin: 0; 
    padding: 0 ;
    font-size: 1.8rem;
	line-height: 1.85;
    text-align: center;
    font-weight: 700;
    position: relative;
}
h2 { 
	font-size: 1.6rem;
    margin: 30px 0 15px;
    padding: 10px 0 10px;
    line-height: 1.2;
    text-align: center;
    font-weight: 700;
	color: var(--blue);
    background: var(--paleblue);
}
/*
@media all and (-ms-high-contrast:none) { for IE11
h2 {
    padding: 12px 10px 5px;
}
}
*/
/* toggle close */

#linkbox {
		position: relative;
		z-index: 100;
	}
/* toggle open */
#linkbox.is-open {
		z-index: 1;
		color:#fff;
}

h3 {
/*    font-size: 1.3rem;*/
    line-height: 1.4;
    color: var(--blue);
    text-align: left;
    font-weight: 600;
    position: relative;
    clear: both;
}

/*
@media all and (-ms-high-contrast:none) { for IE11
h3 {
    padding: 8px 13px 2px;
}
}
*/

h3 a {
		border-bottom: solid 1px var(--blue);
	}
details h3 {
    margin: 10px 0;
    padding: 10px 15px 10px;
    line-height: 1.4;
    text-align: center;
    font-weight: 700;
	color: var(--blue);
    background: var(--white);
 	border: 1px solid var(--blue);
}

details summary .h3-smmary::after {
  content: '';
  position: absolute;
  right: 15px;
  top: 40%;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(119, 119, 119, 1);
  border-bottom: 2px solid rgba(119, 119, 119, 1);
  transition: transform 0.3s;
}

details[open] summary .h3-smmary::after {
  transform: translateY(-25%) rotate(-135deg);
}

.question	{
		margin-bottom: 100px;
	}
	@media only screen and (max-width: 889px){
		.question	{
		margin-bottom: 0;
	}
	}

/* aside */
aside {
	flex:1 1 25%;
	position: sticky;
	position: -webkit-sticky; /* Safari */
	top:0;
	height: 400px;
	min-width: 300px;
}
.aside-box1 {
	border: solid 1px var(--blue);
	margin:  0 0 5px;
	padding: 15px;
	}
aside h1 {
	display: block;
	color:var(--blue);
	font-weight: 700;
	background-color: var(--paleblue);
	text-align: center;
	margin-bottom: 20px;
	padding: 5px 0;
	
	}
aside p {
	margin: 0 10px 15px 0;
	text-align: left;
	}

/* footer */
footer {
	margin: 0 auto;
    padding: 10px 0 ;
    font-size: 1rem;
	text-align: center;
	background-color: var(--white);
	border-top: solid 10px var(--blue);
	max-height: 100px;
	
/* footer fixed */	
	height: 50px;
	position: fixed;
	center: 0; 
	bottom: 0;
	width: 100%;
	max-width: 1200px;
}

/* ページトップへ戻る */
#page-top {
    display: block;
    position: fixed;
    z-index: 9999;
    bottom: 70px;
    width: 35px;
    height: 35px;
	padding: 0;
    background:  var(--black);
    text-align:   center;
    text-decoration: none;
    font-size: 2.0rem;
    line-height: 20px;
    clear: both;
    opacity: .7;
	border-style: none;
}

#page-top:hover {
    opacity: .5;
}

.triangle {
    position: absolute;
    width: 0;
	height: 0;
    border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	border-bottom: 24px solid var(--white);
	border-top: 0;
	top: 5px;
	left: 6px;
}

p {
	text-align: justify;
	margin: 5px 0 15px 0; 
    padding: 0;
    text-indent: 0;
}
p.indent {
	text-indent: -0.5em;
}

/* utility */

.mb0 {
    margin-bottom: 0 !important;
}
.mb05 {
    margin-bottom: 5px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb15 {
    margin-bottom: 15px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb25 {
    margin-bottom: 25px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}
.mt0 {
    margin-top: 0 !important;
}
.mt05 {
    margin-top: 5px !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt15 {
    margin-top: 15px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt25 {
    margin-top: 25px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.ml-em06 {
		text-indent: -0.6em;
	}	
.ib {
		display: inline-block;　
	}
.tu {
	text-decoration: underline;
}
.br-480 {
	display:none;
	}
/* utility end */

/* for one column */
@media only screen and (max-width: 889px) {
header {
    height: 80px;
		}
.content-wrap {
		flex-direction:column;
		overflow-y: scroll;
		row-gap: 30px;
		overflow-x: hidden;  
/*		margin-top: 50px;*/
		margin: 50px 25px 0;
	}
main {
		overflow-x: hidden; 
/*		width:100%;*/
	}
	#header-ism {
		right: 25px;
	}	
}
@media screen and (min-width:481px) and (max-width:889px) {
	main {
		width:100%;
	}	
	
aside {
		flex:1 1 100%;
	}
}
.aside-box1 {
	margin-bottom: 100px;
	}
/* for one column end  */

/* mobile */
@media only screen and (max-width: 480px) {

header {
    width: 100%;
    position: relative;
    margin: 0 auto;
	height: 25vh;
	max-height: 60px;
}

#sjnclogo {
	width: 28vw;
	top: 15px;
	height: auto;
	left: 33vw;
	}

#sjnclogo img {
width: 100%;
}
	
#header-ism {
		width: 28vw;
		top: 16px;
		right: 15px;
		height: auto;
	}	
	
#gnav {
	display:none;	
		}	 
nav {
    display: none;
}
.content-wrap {
		border-top:solid 10px var(--blue);
		margin: 0;
		overflow-x: hidden;
	　　		}
	　　			
.header-logo-box {
		width:33%;
	}
main {
	margin: 0 15px;
	overflow-x: hidden;
/*	width: auto;*/
	}
aside {
	margin: 0 15px 30px;
	}	
	
main h1 {
    padding: 10px 0 5px;
    font-size: 1.8rem;
	line-height: 1.4;
	width:auto;
	margin-top: 10px;
}

h2 {
    font-size: 1.6rem;
    margin: 20px 0 15px;
    width: 100%;
}
	
h3 {
    margin: 15px 0 6px;
    width: 100%;
}

/* トップへ戻る */
#page-top {
    bottom: 60px;　
    right: 10px;
}　
.a-box { 
	margin-top: 5px;
	}	

/* mobile utility */
.mb0sp {
    margin-bottom: 0 !important;
}
.mb05sp {
    margin-bottom: 5px !important;
}
.mb10sp {
    margin-bottom: 10px !important;
}
.mb15sp {
    margin-bottom: 15px !important;
}
.mb20sp {
    margin-bottom: 20px !important;
}
.mb25sp {
    margin-bottom: 25px !important;
}
.mb30sp {
    margin-bottom: 30px !important;
}
.mt0sp {
    margin-top: 0 !important;
}
.mt05sp {
    margin-top: 5px !important;
}
.mt10sp {
    margin-top: 10px !important;
}
.mt15sp {
    margin-top: 15px !important;
}
.mt20sp {
    margin-top: 20px !important;
}
.mt25sp {
    margin-top: 25px !important;
}
.mt30sp {
    margin-top: 30px !important;
}
.br-480 {
	display:inline;
	}
.ml-em06-480 {
		text-indent: -0.6em;
	}
}
/* mobile end */

/* under320 */
.br-320 {
	display:none;
	}

@media only screen and (max-width: 320px) {
	.aside-box1 {
	margin-right: 10px;
	}
	.br-320 {
	display:inline;
	}
	.space-321 {
	display:none;
}
	.ml-em06-320 {
		text-indent: -0.6em;
	}	
}
/* under320  end*/

/* backtop include　*/

.wrapper {
  max-width: 1200px;
  margin: 0 auto;
	
}
.menu-wrapper {
  display: flex;
  justify-content: flex-end;
}

#menu-btn.fixed {
  position: fixed;
  top: 0;
  margin-top: 40px;
}

.btn-wrapper {
  display: flex;
  justify-content: flex-end;
  margin-right: 20px;	
}

#page-top.fixed {
  position: fixed;
  bottom: 0;
  margin-bottom: 100px;
}	

/* プリント */

@media print {
	
@page {
        size: A4 portrait; 
        margin: 10mm; 
    }
body, html {
    margin: 0;
    padding: 0;
    width: 100%;
  	}
.content-wrap {
	display: block !important;
	overflow: visible !important;	
	}	
main {
    width: 100% !important;
	max-width: 100% !important;
    min-width: 100% !important;
	margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  	}
	
aside {
    width: 100% !important;
	max-width: 100% !important;
    min-width: 100% !important;
	margin: 30px 0 0 !important;
    padding: 0 !important;
    display: block !important;
  	}	

header, footer{
    display: none !important;
  	}


#page-top {
    display: none;
	margin: 0; 
	}
.page-break {
	break-before: page;
	}
}
