@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
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: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

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

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/********
CSS変数
*********/

:root{
	--kajima_red: #E6002D;
	--sculpture_theme_base: #009CD0;
	--sculpture_theme_txt: #009CD0;
	/*--sculpture_theme_txt: #0080C4;*/
}


/*********************************************************************
 update: 202411/20
 *********************************************************************/
#header .inner, #page_title .inner, #body, #body.full-width .content .inner, #body.full-width .bread, #footer .inner {
  position: relative;
  /*width: 960px;*/
	width: 100%;
	max-width: 1200px; /*1160px*/
  margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
  text-align: left;
  line-height: 1.7;
}
#body{
	max-width: inherit;
}

/*  Common Elements
---------------------------------------------------------- */
html {
  overflow-y: scroll;
  /*min-width: 960px;*/
}

body {
  background-color: #C8C9C9;
  color: #363434;
  font-family: "Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	font-size: 0.9375rem;
  text-align: center;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
body *{
	box-sizing: border-box;
}

a {
  color: #1d3994;
  text-decoration: none;
}
a:visited {
  color: #941d55;
}
a:focus {
  color: #cc0033;
}
a:hover {
  color: #cc0033;
}
a:active {
  color: #cc0033;
}
a:hover, a:focus {
  text-decoration: underline;
}
a.dot-line {
  /*display: inline-block;*/
  background-image: linear-gradient(to right, #bb2649, #bb2649 1px, rgba(0, 0, 0, 0) 1px, rgba(0, 0, 0, 0) 3px);
  background-size: 3px 1px;
  background-position: bottom;
  background-repeat: repeat-x;
  color: #333;
	transition: color 0.3s;
}
a.dot-line:hover {
  text-decoration: none;
  color: #999;
}
a.js-lbox img{
	transition: opacity 0.3s;
}
a.js-lbox:hover img{
	opacity: 0.7;
}

hr {
  display: none;
}

strong {
  font-weight: bold;
}

blockquote {
  padding: 15px;
}

table th,
table td,
table caption {
  line-height: 1.7;
}

img {
  vertical-align: bottom;
}
#body img{
	max-width: 100%;
	height: auto;
}

sup, sub {
  line-height: 1;
  font-size: 70%;
}

sup {
  vertical-align: 0.6em;
}

/*  Common id, class
---------------------------------------------------------- */
.hover {
  cursor: pointer;
}

.clear {
  clear: both;
}

.no_margin {
  margin: 0 !important;
}

.break {
  page-break-after: always;
}
.break span {
  display: none;
}

.tm {
  margin-bottom: 1em !important;
}

.tm_2 {
  margin-bottom: 2em !important;
}

.txt_red {
  color: #CC0033;
}

.paren {
  margin-left: -0.3em !important;
  margin-right: -0.3em !important;
}

/*  Paragraph
---------------------------------------------------------- */
p.caption, p.note {
  font-size: 92.5%;
  margin: 4px 0 0 0;
}

p.caption {
  margin-bottom: 15px;
}
p.note {
  margin: 0;
  padding-left: 1.2em;
  text-indent: -1.2em;
}
p.large {
  font-size: 107.7%;
}

/* link_icon */
img.link_icon {
  margin: 0 3px 0 5px;
  vertical-align: baseline;
}

/*********************************************************************
 *  Header
 *********************************************************************/
#header {
  background: #333;
  z-index: 1;
  position: fixed;
  width: 100%;
}

#header .inner{
	display: flex;
	justify-content: space-between;
}
#header .inner .header_logo {
	flex: 0 0 auto;
  width: 200px;
}

/*  Header: Global Navigation
---------------------------------------------------------- */
ul#gnav {
	flex: 0 0 auto;
	width: auto;
	background-color: #333;
  line-height: 1.1;
	display: flex;
	justify-content: flex-start;
}
ul#gnav li {
	flex:0 0 auto;
	width: auto;
	min-width: 130px;
	height: 50px;
  box-sizing: border-box;
  border-left: #7A7A7A 1px solid;
	font-size: 0.875rem;
}
ul#gnav li a {
	width: 100%;
	height: 100%;
	display: flex;
	box-sizing: border-box;
	justify-content: center;
	align-items: center;
  background-color: #333333;
  transition: background-color 0.2s;
	padding-left: 0.375rem;
	padding-right: 0.375rem;
	padding-bottom: 0.125rem;
	color: #fff;
	text-decoration: none;
	text-align: center;
}
ul#gnav li a:hover {
  background-color: #111111;
}
ul#gnav li.current a {
  background-color: var(--sculpture_theme_txt);
}
ul#gnav li.current a:hover {
  background-color: var(--sculpture_theme_txt);
}
ul#gnav li.lang{
	display: flex;
	flex-direction: column;
	justify-content: center;
}
ul#gnav li.lang a{
	height: auto;
	padding-bottom: 0;
	transition: opacity 0.3s;
}
ul#gnav li.lang a:hover {
  background-color: #333;
	opacity: 0.7;
}

	#gnav_switch{
		display: none;
	}

/*  Page Title
---------------------------------------------------------- */
#page_title {
  background: #fff;
  width: 100%;
  position: fixed;
  left: 0px;
  top: 48px;
  z-index: 1;
  border-bottom: #e3e3e3 1px solid;
}
#page_title .inner {
  background: url(../images/bg_page_title.png) no-repeat calc(100% - 20px) 46%;
  background-size: 359px 34px;
}
#page_title .inner h1 {
  margin: 0;
  padding: 0 0 0.0625rem 1.4375rem;
  position: relative;
	height: 51px;
	line-height: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 1.625rem;
	font-weight: 500;
}
#page_title .inner h1::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 0px;
  width: 4px;
  height: 24px;
  background-color: var(--sculpture_theme_base);
}

/*  Pagetop
---------------------------------------------------------- */
#pagetop {
  height: 128px;
}
#pagetop span {
  display: none;
}
.util_body #pagetop {
  height: 78px;
}

/*********************************************************************
 * Body
 *********************************************************************/
/*  structure
---------------------------------------------------------- */
#body {
  background: #e3e3e3;
  min-height: 400px;
  /*min-width: 960px;*/
  /*z-index: 0;*/
  padding: 0 0 30px;
}
#body.full-width {
  width: 100%;
}
#body.full-width .gbk {
  background-color: #E9EAEA;
}
#body.full-width .gbk.btm {
  padding-bottom: 10px;
}
.util_body #body.full-width .content .inner {
  /*width: 840px;*/
}

/*p-has_snav*/
.content .inner.p-has_snav{
	display: flex;
	justify-content: space-between;
}

/*#main*/
#main {
	flex: 0 0 auto;
  width: calc(100% - 270px);
}

#sub {
	flex: 0 0 auto;
	width: 230px;
}
#snav {
	position: sticky;
	top: 128px;
}

/*  Body: Breadcrumbs
---------------------------------------------------------- */
p.bread {
  line-height: 1 !important;
  font-size: 92.5%;
}
p.bread a, p.bread em {
  margin: 0 8px 0 4px;
}
p.bread a {
  text-decoration: none;
}
p.bread a:hover, p.bread a:focus {
  text-decoration: underline;
}
p.bread em {
  color: #595757;
}

/*  Body: Go to Pagetop
---------------------------------------------------------- */
/*go_pagetop*/
.go_pagetop_frame {
  position: fixed;
  right: 25px;
  bottom: 25px;
  width: 30px;
  height: 30px;
  z-index: 2;
  display: none;
}
.go_pagetop_frame img {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
}
.go_pagetop_frame img:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}
.go_pagetop_frame img span {
  display: none;
}

/*********************************************************************
 *  Footer
 *********************************************************************/
#footer {
  padding: 0 0 20px;
  font-size: 84.6%;
}
#footer a {
  color: #333;
  text-decoration: none;
}
#footer a:hover {
  text-decoration: underline;
}
#footer .util {
  background-color: #fff;
  padding: 10px 0;
}

#footer .util .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#footer .util .org_info {
	flex: 1 1 auto;
  width: 50%;
	display: flex;
	flex-wrap: wrap;
}
#footer .util .org_info>span{
	flex: 0 0 auto;
	width: auto;
	white-space: nowrap;
	margin-right: 0.75rem;
}
#footer .util .fnav {
	flex: 0 0 auto;
  width: auto;
	margin-left: auto;
  line-height: 1;
  border-right: #ccc 1px solid;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
#footer .util .fnav li {
	flex: 0 0 auto;
  width: auto;
  padding: 0 1.2em;
  border-left: #ccc 1px solid;
}
#footer #copyright {
	font-size: 0.8125rem;
	line-height: 1;
  letter-spacing: 0.03em;
  padding: 1em 20px;
  text-align: right;
  background: url(../images/logo_footer.svg) no-repeat calc(100% - 20px) 14px;
	font-family:"Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
#footer #copyright p {
  padding: 12px 35px 0 0;
}

/*********************************************************************
 *  Heading
 *********************************************************************/
/* h1 */
h1 {
  margin: 0 0 20px 0;
}

/* h2-h4 ,#main*/
h2, h3, h4 {
  margin: 20px 0 12px 0;
  font-size: 107.7%;
  font-weight: bold;
}
h2.first, h3.first, h4.first {
  margin-top: 0;
}
h2 img, h3 img, h4 img {
  vertical-align: top;
}

h4 {
  font-size: 100%;
}

/*pagetitle*/
h2.pagetitle {
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.03em;
  margin: 10px 0px 15px;
  padding: 0 0px 22px;
  border-bottom: var(--sculpture_theme_base) 1px solid;
}
#main h2.pagetitle {
  margin: 10px -18px 20px;
  padding: 0 22px 22px;
}

 /*  Body: Sub Contents (snav)
---------------------------------------------------------- */
#snav .nav {
  box-shadow: 1px 1px 7px -2px rgba(0, 0, 0, 0.5);
}
#snav .nav li {
 /* font-size: 115.4%;*/
  line-height: 1.4;
  background-color: #fff;
  margin-bottom: 2px;
	transition: background-color 0.3s;
}
#snav .nav li a {
  display: block;
  padding: 0.8em 1em;
  color: #333;
}
#snav .nav li a:hover {
  text-decoration: none;
}
#snav .nav li span.no_link {
  display: block;
  padding: 0.8em 1em;
  color: #999;
  background-color: #f6f6f6;
  cursor: default;
}
#snav .nav li:hover {
  background-color: #f4f4f4;
}
#snav .nav li.current {
  background-color: var(--sculpture_theme_txt);
}
#snav .nav li.current a {
  color: #fff;
}
#snav .nav li.current a:hover {
  background-color: var(--sculpture_theme_txt);
}

#page_title .p-header_snav{
	display: none;
}
#page_title .p-header_snav{
	display: none;
}
#bottom_snav_sp{
	display: none;
}

/*page_edge_point*/
#page_end_item {
	display: none;
}

/*********************************************************************
 *  Elements in div#body
 *********************************************************************/
/*  Section
---------------------------------------------------------- */
.section {
  /*clear: both;*/
}

/* basic style of .bn-box and .wh-box*/
.bn-box, .wh-box {
  background-color: #FFF;
  margin-bottom: 20px;
  padding: 12px 18px 18px;
}
.bn-box.sh, .wh-box.sh {
  box-shadow: 1px 1px 7px -2px rgba(0, 0, 0, 0.6);
}
.bn-box.border, .wh-box.border {
  border-radius: 0px;
  border: #B9BABA 1px solid;
}
.bn-box.no_margin, .wh-box.no_margin {
  margin: 0;
}
.bn-box .txt .indent, .wh-box .txt .indent {
  margin-left: 20px;
}
.bn-box .txt .small, .wh-box .txt .small {
  font-size: 84.6%;
}
.util_body .bn-box, .util_body .wh-box {
  padding: 15px 40px 30px;
  line-height: 1.9;
}

.bn-box.hover {
  background-color: #f4f4f4 !important;
}
.bn-box.hover .title {
  text-decoration: underline;
}

.border-box {
  border: var(--sculpture_theme_base) 1px solid;
  padding: 15px 20px 20px;
}

.wh-box{
	container-type: inline-size;
	container-name: wh_container;
}

/*  List
---------------------------------------------------------- */
/* normal_ul */
ul.list {
  margin-bottom: 15px;
}
ul.list li {
  margin-bottom: 7px;
  padding-left: 10px;
  background: url(/common/image/bg_dot_list.gif) no-repeat 1px 0.7em;
}

/* normal_ol */
ol.list {
  margin-bottom: 15px;
}
ol.list li {
  list-style: decimal;
  margin: 0 0 7px 25px;
}
ol.list ul.list {
  margin-top: 7px;
}
ol.list ul.list li {
  list-style: none;
  margin: 0 0 7px 0;
}
ol.list.bold {
  font-weight: bold;
}
ol.list.bold .content {
  font-weight: normal;
}

/*  Link
---------------------------------------------------------- */
ul.link li,
ul.list li.link {
  margin-bottom: 5px;
  padding: 0 0 0 12px;
  background: url(../image/arrow_red.png) no-repeat 0 0.35em;
  color: #808485;
  line-height: 1.33;
}

ul.link li a {
  text-decoration: none;
}
ul.link li a:hover, ul.link li a:focus {
  text-decoration: underline;
}
ul.link.border {
  padding: 16px 0 0 0;
  background: url(/common/image/bg_dot_line.gif) repeat-x 0 8px;
}
ul.link.border-list li {
  padding: 0 0 1px 0;
  margin: 0;
  background: url(/common/image/bg_dot_line.gif) repeat-x 0 100%;
}
ul.link.border-list li a {
  display: block;
  padding: 0.55em 0 0.55em 12px;
  background: url(../image/arrow_red.png) no-repeat 0 0.85em;
}
ul.link.inline li {
 /* float: left;*/
  margin-right: 15px;
  white-space: nowrap;
}

p.link {
  padding: 0 0 0 12px;
  background: url(../image/arrow_red.png) no-repeat 0 0.35em;
  line-height: 1.33;
}
p.link a {
  text-decoration: none;
}
p.link a:hover, p.link a:focus {
  text-decoration: underline;
}

p.link.large {
  padding: 0 0 0 20px;
  background: url(../image/arrow_red_large.png) no-repeat 0 0.15em;
}
p.link.large a {
  color: #212121;
}

a.c-blank:after{
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	background: url("/csr/culture/sculpture/common/images/icon_blank.png") no-repeat 0px 0px;
	margin: 0 0.25rem;
}

/*  link_anchor
---------------------------------------------------------- */
.link_anchor {
  margin-bottom: 20px;
  padding: 0 0 8px 0;
  border-bottom: 1px solid #c2c5c5;
}
.link_anchor ul li {
 /* float: left;*/
  padding: 0 13px 0 10px;
  background: url(/common/image/arrow_down.gif) no-repeat 0 0.7em;
}
.link_anchor ul li a {
  white-space: nowrap;
}

/*********************************************************************
 * grid
 *********************************************************************/
.col {
  /*float: left;*/
}

.col2 .col,
.full-width .col2 .col,
.col6 .col2 .col,
.full-width .col6 .col2 .col,
.col5 .col2 .col,
.full-width .col5 .col2 .col,
.col4 .col2 .col,
.full-width .col4 .col2 .col,
.col3 .col2 .col,
.full-width .col3 .col2 .col{ width: calc((100% - 40px)/2); }

.col3 .col,
.full-width .col3 .col,
.col2 .col3 .col,
.full-width .col2 .col3 .col,
.col4 .col3 .col,
.full-width .col4 .col3 .col,
.col5 .col3 .col,
.full-width .col5 .col3 .col,
.col6 .col3 .col,
.full-width .col6 .col3 .col{ width: calc((100% - 80px)/3); }
.col3 .col.span-2,
.full-width .col3 .col.span-2{ width: calc((100% - 80px)*2/3 + 40px); }

.col4 .col,
.full-width .col4 .col { width: calc((100% - 120px)/4); }
.col4 .col.span-2,
.full-width .col4 .col.span-2{ width: calc((100% - 120px)*2/4 + 40px); }
.col4 .col.span-3,
.full-width .col4 .col.span-3{ width: calc((100% - 120px)*3/4 + 80px); }

.col5 .col,
.full-width .col5 .col{ width: calc((100% - 160px)/5); }
.col5 .col.span-2,
.full-width .col5 .col.span-2{ width: calc((100% - 160px)*2/5 + 40px); }
.col5 .col.span-3,
.full-width .col5 .col.span-3{ width: calc((100% - 160px)*3/5 + 80px); }
.col5 .col.span-4,
.full-width .col5 .col.span-4{ width: calc((100% - 160px)*4/5 + 120px); }

.col6 .col,
.full-width .col6 .col{ width: calc((100% - 200px)/6); }
.col6 .col.span-2,
.full-width .col6 .col.span-2{ width: calc((100% - 200px)*2/6 + 40px); }
.col6 .col.span-3,
.full-width .col6 .col.span-3{ width: calc((100% - 200px)*3/6 + 80px); }
.col6 .col.span-4,
.full-width .col6 .col.span-4{ width: calc((100% - 200px)*4/6 + 120px); }
.col6 .col.span-5,
.full-width .col6 .col.span-5{ width: calc((100% - 200px)*5/6 + 160px); }

.col.c-narrow,.col .c-narrow{width: 75%;}
.col.c-narrow--60, .col .c-narrow--60{width: 60%;}

/*---------Component------------------*/

img.c-fill-width{
	width: 100%;
	height: auto;
}

/*layout*/
.c-inner--bodyWidth{
	width: 1160px;
	margin: 0 auto;
}

.c-flex--between{
	display: flex;
	justify-content: space-between;
}
.c-flex--start{
	display: flex;
	justify-content: flex-start;
}
.c-flex--end{
	display: flex;
	justify-content: flex-end;
}
.c-flex--center{
	display: flex;
	justify-content: center;
}
.c-flex--center.column{
	flex-direction: column;
}
.c-flex--wrap{
	flex-wrap: wrap;
}
.c-flexitem--center{
	align-items: center;
}
.c-flexitem--top{
	align-items: flex-start;
}
.c-flexitem--bottom{
	align-items: flex-end;
}
.c-flexcontent--center{
	align-content: center;
}

.c-nowrap{
	white-space: nowrap;
}

.c-flex_row_reverse{
	flex-direction: row-reverse;
}

.c-overflow_anywhere{
	overflow-wrap: anywhere;
}

/*bn_btn*/
.c-bn_btn{
	position: relative;
	background-color: #fff;
	box-shadow: 1px 2px 12px -2px rgba(0,0,0,0.35);
	text-align: left;
}
.c-bn_btn.c-padding{
	padding: 1.0625rem 1.5rem 1.25rem 1.375rem;
}
.c-bn_btn a{
	color: #212121;
	text-decoration: none;
}
.c-bn_btn.arrow:after{
	content: "";
	display: block;
	position: absolute;
	right: 1.125rem;
	top: 50%;
	width: 12px;
	height: 12px;
	border: var(--sculpture_theme_base) 2px solid;
	border-bottom: none;
	border-left: none;
	transform: rotate(45deg);
	margin-top: -8px;
}

	/*c-block_hover*/
.c-block_hover{
	position: relative;
}
.c-block_hover a:before{
	content: '';
	display: block;
	box-sizing: border-box;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px; top: 0px;
	transition: all 0.3s;
	border: #a6c4eb 1px solid;
	border-radius: 2px;
	background-color: rgba(166,196,235,0.3);
	opacity: 0;
}
.c-block_hover:hover a:before{
	border-width: 2px;
	opacity: 1;
}
.c-align--center{
	text-align: center;
}

/*********************************************************************
 * table
 *********************************************************************/
/* tabel_area */
div.table {
  margin-bottom: 20px;
  margin: 0;
}

/* cell_common_style */
table.normal th, table.normal td {
  padding: 8px 10px;
  border: 1px solid #c2c5c5;
}

/* table_classes */
table td, table th {
  vertical-align: top;
}
table.normal {
  width: 100%;
}
table.normal th {
  width: 180px;
  background-color: #f0f0f0;
  font-weight: bold;
  white-space: nowrap;
}
table.normal caption {
  padding-bottom: 7px;
  font-weight: bold;
}
table.no_border th {
  padding-right: 20px;
  font-weight: bold;
  white-space: nowrap;
}

/*utility*/
br.u-spBr{
	display: none;
}

@media screen and ( max-width:1060px) {
	#page_title .inner {
		background: none;
	}
	.inner>.c-flex--between{
		display: block;
	}
	.inner>.c-flex--between .col,
	.inner>.c-flex--center .col{
		width: 100% !important;
	}
	#footer .util .inner {
		display: block;
	}
	#footer .util .fnav {
		margin: 0.875rem 0 0.625rem;
		justify-content: flex-end;
	}
	#footer .util .fnav li{
		padding: 0 0.8em;
	}
	
	/*gnav*/
	#header{
		z-index: 2;
	}
	ul#gnav{
		position: fixed;
		/*background-color: #333;*/
		width: 14rem;
		height: 1000vh;
		top: 0;
		right: -14rem;
		flex-direction: column;
		padding-top: 48px;
		z-index: 2;
		transition: all 0.4s;
	}
	ul#gnav.open{
		right: 0px;
		box-shadow: 0 0 10px -1px rgba(0,0,0,0.8);
	}
	ul#gnav li {
		border-left: none;
		border-top: #545454 1px solid;
		font-size: 1rem;
	}
	ul#gnav li a {
		text-align: left;
		justify-content: flex-start;
		padding-left: 1.5rem;
	}
	ul#gnav li a br{
		display: none;
	}
	ul#gnav li.lang{
		display: block;
		padding-top: 10px;
		padding-left: 0;
	}
	ul#gnav li.lang a{
		padding-top: 10px;
		padding-bottom: 10px;
		padding-left: 10px;
	}

	#gnav_switch{
		display: block;
		position: absolute;
		top:0px; right: 0px;
		width: 70px; height: 48px;
		text-align:center;
		cursor: pointer;
		transition: background-color 0.3s;
		z-index: 2;
	}
	#gnav_switch.open{}
	#gnav_switch span {
		display: inline-block;
		box-sizing: border-box;
		position: absolute;
		width: 30px;
		height: 2px;
		background-color: #fff;
		left: 20px;
		transition: all 0.4s;
	}
	#gnav_switch span:nth-of-type(1) {
		top: 14px;
	}
	#gnav_switch span:nth-of-type(2) {
		top: 22px;
	}
	#gnav_switch span:nth-of-type(3) {
		top: 30px;
	}

	#gnav_switch.open span:nth-of-type(1) {
		transform: translateY(8px) rotate(-45deg);
	}
	#gnav_switch.open span:nth-of-type(2) {
		opacity: 0;
		transform: translateX(8px);
	}
	#gnav_switch.open span:nth-of-type(3) {
		transform: translateY(-8px) rotate(45deg);
	}
	
	/*main*/
	#main{
		width: 100%;
	}
	/*snav*/
	#sub{
		display: none;
	}
	#page_title .p-header_snav{
		display: block;
	}
	
	#bottom_snav_sp{
		display: block;
		background-color: #fff;
		border-bottom: #ccc 1px solid;
	}
	
	#page_title .nav,
	#bottom_snav_sp .nav{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		height: 50px;
	}
	#page_title .nav li,
	#bottom_snav_sp .nav li {
		flex: 0 0 auto;
		line-height: 1.4;
		background-color: #fff;
		margin-bottom: 2px;
		font-size: 0.9375rem;
	}
	#page_title .nav li a,
	#bottom_snav_sp .nav li a{
		display: flex;
		padding: 0.75em 0.5em 0.625em;
		color: #333;
		flex-direction: column;
		justify-content: center;
		height: 100%;
	}
	#page_title .nav li a:hover,
	#bottom_snav_sp .nav li a:hover{
		text-decoration: none;
	}
	#page_title .nav li span.no_link,
	#bottom_snav_sp .nav li span.no_link{
		display: block;
		padding: 0.8em 1em;
		color: #999;
		background-color: #f6f6f6;
		cursor: default;
	}
	#page_title .nav li:hover,
	#bottom_snav_sp .nav li:hover{
		background-color: #f4f4f4;
	}
	#page_title .nav li.current,
	#bottom_snav_sp .nav li.current{
		background-color: var(--sculpture_theme_txt);
	}
	#page_title .nav li.current a,
	#bottom_snav_sp .nav li.current a{
		color: #fff;
	}
	#page_title .nav li.current a:hover,
	#bottom_snav_sp .nav li.current a:hover{
		background-color: var(--sculpture_theme_txt);
	}
	
	/*#bottom_snav_sp*/
	#bottom_snav_sp .nav{
		height: auto;
		justify-content: flex-start;
		padding: 0.5rem 1rem;
	}
}

@media screen and ( max-width:600px) {
	#page_title .nav li,
	#bottom_snav_sp .nav li {
		font-size: 0.8125rem;
	}
	#page_title .nav li a,
	#bottom_snav_sp .nav li a{
		padding-left: 0;
		padding-right: 0;
	}
	#footer .util .fnav {
		display: block;
		border-right: none;
		border-left: #ccc 1px solid;
	}
	#footer .util .fnav li{
		border: none;
		margin-bottom: 0.5rem;
	}
	#footer .util .org_info {
		width: 100%;
		display: block;
	}
	#footer .util .org_info>span{
		display: block;
		white-space: normal;
		margin-right: 0;
	}
	#footer #copyright {
		font-size: 0.75rem;
		line-height: 1.1;
		letter-spacing: 0;
		padding: 0 20px;
	}
	#copyright .c-nowrap{
		display: block;
	}
	.c-nowrap.c-spwrap{
		white-space: normal;
	}
	br.u-spBr{
		display: inline;
	}
}

