@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New&display=swap');

/* 全体
------------------------------------------------------------ */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-family: "Zen Kaku Gothic New", sans-serif;
	margin: 0px;
	padding: 0px;
	line-height: 1.8;
	color: #000;
	-webkit-text-size-adjust: 100%;
	word-wrap:break-word;
	word-break: break-all;
	overflow-wrap: break-word;
}
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.poppins {
	font-family: 'Poppins', sans-serif;
}
.albert {
	font-family: "Albert Sans", sans-serif;
}

html {
	font-size: 62.5%;
	height: 100%;
}
body {
	font-size: 100%;
	background: #fff;
    min-height: 100%;
    overflow-y: auto;
}
body.opmenu {
	overflow: hidden;
}
a {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
a.underlink {
	text-decoration: underline;
}
a.underlink:hover {
	text-decoration: none;
}
table {
	table-layout: auto;
	border-collapse: collapse;
	border-spacing: 0px;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	border-style: none;
}
img.full {
	width: 100%;
}

.sp_br {
	display: none;
}
.para {
	margin-bottom: 1.5em;
}
.para-half {
	margin-bottom: 1em;
}
.para-little {
	margin-bottom: 0.5em;
}

.nomal_size {
	font-size: 1.4rem;
}
.mid_size {
	font-size: 1.3rem;
}
.small_size {
	font-size: 1.2rem;
}
.center_note {
    text-align: center;
}
strong {
	font-weight: bold;
}

.inlineblock {
	display: inline-block;
}

.red_text {
    color: #c40000;
}

/* 大枠 */
body #allcontents {
    min-height: 100vh;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
}

/* ヘッダ
------------------------------------------------------------ */
header {
	width: 100%;
	height: 60px;
    background: rgba(255,255,255,0.8);
	padding: 0;
	z-index: 1000;
	position: fixed;
	margin: auto;
	left: 0px;
	top: 0px;
	transition: .3s;
}
header:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    opacity: 0;
	transition: .3s;
}
header.compact:after {
    opacity: 0.7;
	transition: .3s;
}
header .logo_header {
    display: table;
    position: relative;
    z-index: 801;
}
header .logo_header a {
    display: table-cell;
	height: 60px;
    text-align: center;
    vertical-align: middle;
	padding: 10px;
}
header .logo_header img {
	display: block;
	width: auto;
	height: 25px;
}

/* コンテンツ
------------------------------------------------------------ */
section {
    width: 100%;
	clear: both;
	margin: 60px auto 0;
	position: relative;
	padding: 0px;
}
.vbox-close {
    font-size: 40px !important;
}

/* メイン */
section article {
}
section article > div {
    padding: 0 20px;
	max-width: 1800px;
	margin: 30px auto;
}

/* ページタイトル */
article.pagetitle_area {
	background: #333;
    margin: 0 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	z-index: 10;
}
article.pagetitle_area > div {
	margin: 0 auto;
    height: 150px;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
}
article.pagetitle_area > div h1 {
    font-size: 3rem;
    font-style: italic;
    font-weight: 200;
    color: #fff;
    letter-spacing: 0.1ex;
}

/* 中メニュー */
.page_menu {
    font-size: 1.6rem;
    margin-bottom: 20px;
}
.page_menu ul {
    list-style: none;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.page_menu ul li {
    margin: 0 0.5em 0.5em;
}
.page_menu ul li a {
	font-family: "Albert Sans", sans-serif;
    font-weight: 500;
    text-decoration: none;
}
.page_menu ul li a.current,
.page_menu ul li a:hover {
    border-bottom: solid 3px #00a0e9;
}


@media (min-width: 375px) {
/* ヘッダ
------------------------------------------------------------ */
header {
	padding: 0 10px;
}
header .logo_header a {
}
header .logo_header img {
}
/* ページタイトル */
article.pagetitle_area {
}
/* 中メニュー */
.page_menu ul li {
    margin: 0 1em 0.5em;
}

section {
}
}

@media (min-width: 768px) {
body.opmenu {
	overflow: visible;
	height: auto;
}
.nomal_size {
	font-size: 1.6rem;
}
.mid_size {
	font-size: 1.4rem;
}
.small_size {
	font-size: 1.3rem;
}

/* ヘッダ */
header {
	height: 66px;
	padding: 0 20px;
}
header .logo_header {
}
header .logo_header a {
	height: 66px;
}
header .logo_header img {
	width: 84px;
	height: auto;
}

/* メイン */
section {
    margin-top: 66px;
}
section article {
}
section article > div {
    padding: 0px 50px;
	margin: 50px auto;
}

/* ページタイトル */
article.pagetitle_area {
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
}
article.pagetitle_area > div {
    height: 250px;
}
article.pagetitle_area > div h1 {
    font-size: 4.5rem;
}

/* 中メニュー */
.page_menu {
    font-size: 1.8rem;
    margin-bottom: 0px;
}
.page_menu ul li {
    margin: 0 1em 1em;
    padding-bottom: 1px;
}
.page_menu ul li a {
    padding-bottom: 0.3em;
    display: block;
}
.page_menu ul li a.current,
.page_menu ul li a:hover {
    border-bottom-width: 5px;
}

}

@media (min-width: 1200px) {
.nomal_size {
	font-size: 1.8rem;
}
.mid_size {
	font-size: 1.6rem;
}
.small_size {
	font-size: 1.4rem;
}

/* コンテンツ */
section {
    margin-top: 72px;
}
section article {
}

/* ヘッダ */
header {
	height: 72px;
}
header > div.header_info {
	height: 72px;
    position: absolute;
    top: 0px;
}
header > div.header_info a {
	height: 72px;
}
header > div.headmenu {
	height: 72px;
    width: 100%;
    text-align: center;
}
header > div.headmenu .bio_menu {
    position: fixed;
    right: 23px;
    top: 26px;
}

/* ページタイトル */
article.pagetitle_area {
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}
article.pagetitle_area > div {
    height: 400px;
}
article.pagetitle_area > div h1 {
    font-size: 6rem;
}

/* 中メニュー */
.page_menu {
    font-size: 2.2rem;
    margin-bottom: 70px;
}
.page_menu ul li {
    margin-bottom: 0;
}
.page_menu ul li a {
    padding-bottom: 0.5em
}

/* 見出し */
h2 {
}
}

@media (min-width: 1600px) {
header {
	display: block;
}
}

@media (min-width: 1800px) {
article.pagetitle_area > div h1 {
    padding: 2.5em 0 2.5em;
}
}

@media (min-width: 2000px) {
article.pagetitle_area {
    height: 510px;
}
article.pagetitle_area > div {
    height: 510px;
}
}


/* フッタ
------------------------------------------------------------ */
footer {
    margin-top: auto;
	padding-top: 30px;
	clear: both;
    position: relative;
}
footer p {
    padding: 0 20px;
}
footer .footer_sns {
	margin-bottom: 20px;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
}
footer .footer_sns a {
	margin: 0 8px;
}
footer img {
//	width: 24px;
    height: 24px
}
footer .link_fb img {
//	width: 25px;
}
footer .link_yt img {
//	width: 28px;
}
footer a.policy {
    font-weight: 300;
}
footer div.copyright_area {
    background: #000;
	padding: 20px 0;
}
footer > div .copyright {
    font-weight: 300;
    line-height: 1;
    color: #fff;
}

@media (min-width: 375px) {
}
@media (min-width: 768px) {
footer {
	padding-top: 50px;
}
footer .footer_sns a {
	margin: 0 10px;
}
footer img {
    height: 30px
}
footer .link_fb img {
//	width: 30px;
//    height: 30px
}
footer .link_yt img {
//	width: 34px;
}
footer div.copyright_area {
	padding: 25px 0;
    margin-top: 25px;
}
}
@media (min-width: 1200px) {
footer {
	padding-top: 70px;
}
footer .footer_sns a {
	margin: 0 15px;
}
}



/* ■■■■■■■■■■■■■■■■■■■■■ メニュー ■■■■■■■■■■■■■■■■■■■■■ */

/* スマホ */
.headmenu {
	position: relative;
}
#menu-box {
	display: block;
	width: 100%;
	list-style: none;
	position: relative;
    z-index: 800;
}
#toggle {
	display: inline-block;
	cursor: pointer;
	padding: 0px;
	position: fixed;
	z-index: 1000;
	top: 0px;
	right: 0px;
}
#toggle a {
	display: block;
	width: 60px;
	height: 60px;
    background-size: 43%;
	position: relative;
	margin: 0px;
	text-align: center;
	outline: none;
	transition: .5s;
}

#toggle span {
	display: block;
	width: 26px;
	height: 2px;
	background: #000;
	position: absolute;
	left: 12px;
	transition: .3s;
}
#toggle span.menu_first {
	top: 21px;
}
#toggle span.menu_mid {
	top: 29px;
}
#toggle span.menu_last{
	top: 37px;
}
.opmenu #toggle span.menu_first {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
	top: 29px;
	height: 2.5px;
	transition: .3s;
}
.opmenu #toggle span.menu_last {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
	top: 29px;
	height: 2.5px;
	transition: .3s;
}
#toggle span.menu_mid.close {
	background: transparent;
}

#menu-box #menu {
	display: none;
	width: 100%;
	background: rgba(255,255,255,0.9);
	padding: 0px;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 999;
	height: 100vh;
}
#menu nav {
	margin: 70px 0 50px;
	max-height: 70vh;
	max-height: -webkit-calc(100vh - 120px);/*Chrome19~25対応*/
	max-height: -moz-calc(100vh - 120px);/*Firefox4~15対応*/
	max-height: calc(100vh - 120px);  
	overflow: auto;
}

#menu .menu_main {
	height: 100%;
	position: relative;
}
#menu .menu_main ul {
	margin: 0 30px;
}
#menu .menu_main ul li {
	list-style: none;
	margin-bottom: 1em;
}
#menu .menu_main ul li a {
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	display: block;
}

#menu .bio_menu ul {
	display: table;
	margin: 20px auto;
}
#menu .bio_menu ul li {
	display: table-cell;
	padding: 0 7px;
}
#menu .bio_menu ul li img {
	width: 20px;
}
#menu .bio_menu ul li img.korea {
	border: solid 1px #545454;
}

@media (min-width: 375px) {
#menu nav {
	margin: 90px 0 60px;
	max-height: 70vh;
	max-height: -webkit-calc(100vh - 140px);/*Chrome19~25対応*/
	max-height: -moz-calc(100vh - 140px);/*Firefox4~15対応*/
	max-height: calc(100vh - 140px);  
}
#menu .menu_main ul li {
}
}

/* タブレット */
@media (min-width: 768px) {
/* ヘッダ */
#toggle {
	right: 10px;
}
#toggle a {
	width: 66px;
	height: 66px;
}
#toggle span {
	width: 36px;
	left: 15px;
}
#toggle span.menu_first {
	top: 22px;
}
#toggle span.menu_mid {
	top: 32px;
}
#toggle span.menu_last{
	top: 42px;
}
.opmenu #toggle span.menu_first {
	top: 32px;
	height: 3px;
}
.opmenu #toggle span.menu_last {
	top: 32px;
	height: 3px;
}
#toggle span.menu_mid.close {
	background: transparent;
}

#menu nav {
	margin: 130px 0 90px;
	max-height: 70vh;
	max-height: -webkit-calc(100vh - 220px);/*Chrome19~25対応*/
	max-height: -moz-calc(100vh - 220px);/*Firefox4~15対応*/
	max-height: calc(100vh - 220px);  
}
#menu .menu_main ul {
	margin: 0 50px;
}
#menu .menu_main ul li {
	margin-bottom: 1em;
}
#menu .menu_main ul li a {
	font-size: 2.2rem;
}

#menu .bio_menu ul {
	display: table;
	margin: 25px auto;
}
#menu .bio_menu ul li {
	display: table-cell;
	padding: 0 7px;
}
}

/* PC */
@media (min-width: 1200px) {
/* メインメニュー */
#menu-box {
}
#toggle {
	display: none;
}

#menu-box #menu {
    height: 72px;
	width: auto;
	background: none;
	padding: 0px;
    position: static;
}
#menu-box #menu nav {
    height: 72px;
    max-height: none;
	padding: 0px;
	margin: 0px;
}
#menu {
	display: block !important;
}
#menu-box #menu  {
}
#menu-box #menu nav  {
}

#menu .menu_main {
	height: 100%;
	position: relative;
	overflow: auto;
}
#menu .menu_main ul {
    height: 72px;
	margin: auto;
	display: table;
}
#menu .menu_main ul li {
	margin: 0;
	display: table-cell;
    vertical-align: middle;
}
#menu .menu_main ul li a {
    font-size: 1.6rem;
    display: inline-block;
	padding: 0.5em;
    margin: 0.5em;
}

#menu .bio_menu ul {
	margin: 0;
}
}

@media (min-width: 1600px) {
header {
	display: block;
}
header > div.headmenu {
}
#menu-box #menu {
	margin-left: 0px;
}
}


/* begin clearfix 〜ボックス終わりに自動フロートクリア */
.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
.clearfix {display: inline-table;zoom:1;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */
/* end clearfix */

/* iepngfix efect */
.iepngfix {
  behavior: expression(IEPNGFIX.fix(this));
}
/* end iepngfix efect */

