@charset "utf-8";
/* CSS Document */

body {
	font-size:16px;
}
.sp {display: block;}
.pc {display: none;}
dl.table,
dl.table dt,
dl.table dd {display: block;}
.flex,.re_flex {display: block;}
.left,.right {float: none;}
/********** header *******************/
header#header {width:96%; padding:2% 0 0 0;margin-block-end: 0;block-size: 4.475em;}
header#header h1 {width: 100%;font-size: 0.87em;padding: 0.125em 0 0.125em 0;}
header#header a.logo {inline-size: min(220px,100%);margin-block-start: 0.125em;}
header#header h1 span {}
header#header a.logo img {width:100%; max-width:218px; height:auto;}
header#header ul.tbox {display: none;}
header#header nav {position:relative;display: block;padding-top: 0;width: 100%;}

header#header #spnav {
  display: block;
  font-size: 2.6em;
  position: absolute;
  inset: 0 0 auto auto;
  inline-size: 2em;
  text-align: center;
  block-size: 2.125em;
  background-color: #413f40;
  color: #fff;
  line-height: 1em;
  padding-block-start: 0.25em;
    z-index: 1;
}
header#header #spnav a {
	color:#FFF;
}
header#header .logo_box {margin-inline-start: 2%;}
header span.menu_txt {
  font-size: 0.246em;
  position: absolute;
  inset: auto 0 1.875em 0;
  display: block;
    z-index: -1;
}

header#header nav ul#nav {
	position:absolute; top:1em; left:0; right:0;
	z-index:100;
	width:100%;
	margin:0 0 1px 0; padding:0;
	display:none; 
}


header#header nav ul#nav li {
	display:block;
	margin:0 0 0 0;
	background-color:#FFFFFF;
	padding:0 0 0.3em 0;
	text-align:left;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #666;
}


header#header nav ul#nav li a {
	display:block; font-size:0.9em; color:#000;
	padding:0.3em 1em 0em 1em;
}
header#header nav ul#nav li.box {
	font-size:1.7em;
	background-color: #FFF; width:100%;
}
header#header nav ul#nav li.box a i {
	color:#000;
}
header#header nav ul#nav li.box2 {
	width:100%;
}
header#header nav ul#nav li a span {
	font-size: 0.6em; position:absolute; top:2.6em; left:85%;
}
header#header #menu_button {inset: 0.5em 0 auto 0;margin-inline: auto;position: absolute;inline-size: 50%;block-size: auto;aspect-ratio: 1 / 0.55;z-index: 1;padding: 0.5em 0;display: block;}
header#header #menu_button span {position: absolute;inline-size: 100%;block-size: 2px;background-color: #fff;margin-inline: auto;}
header#header #menu_button span:nth-of-type(1) {inset: 0 0 auto 0;}
header#header #menu_button span:nth-of-type(2) {inset: 0.25em 0 auto 0;}
header#header #menu_button span:nth-of-type(3) {inset: 0.5em 0 auto 0;}

header#header nav ul#nav li.home {background-color: #fff;}
header#header nav ul#nav li.list {inline-size: 100%;}
header#header nav ul#nav li.home {inline-size: 100%;}
section#top_main_img .middle_inner {inline-size: 100%;}
section#top_main_img .message_link {inset: 47vw 2.25vw auto auto;font-size: 0.55em;}
section#top_main_img {padding-block-start: 1em;background-size: 500%;background-position: center bottom 16em;}
section#top_main_img::before {content: none;}
section#top_main_img .img_side {inline-size: min(581px,65%);margin-inline: auto;}
section#top_main_img .main_text {margin-inline: auto;inline-size: min(630px,100%);background-color: #e9d3e9;box-sizing: border-box;padding-inline:2%; }
section#top_main_img .main_text .text1_img,section#top_main_img .main_text .text1,section#top_main_img .main_text .text2 {transform: translateY(-1.5em);}
section#top_main_img .main_text .text1 {font-weight: 500;}
section#top_main_img .main_text .text2 {font-size: 4.82vw;}
section#top_report {padding-block: 3.125em 2em;}
.more {font-size: 1.125em;}
.ttl_txt {font-size: 1.8em;}
section#top_report #information .ttl_bar {margin-block-start: 1em;margin-block-end: 1.875em;font-size: 1.5em;}
section#top_report #information .carousel-cell {inline-size: 100%;padding-block: 4px;}
section#top_report .more {margin-block-start: 1.25em;}
section#top_back_number .l_inner {padding-inline: 0;}
section#top_back_number dt.dt {inline-size: 100%;padding-inline-end: 0;padding-block-start: 0.5em;}
section#top_back_number dt.dt img.center {inline-size: min(250px,50%);}
section#top_back_number dd.dd {inline-size: 100%;padding-inline-start: 0;}
section#top_back_number dd.dd .carousel-cell {inline-size: 100%;}
section#top_back_number {padding-block: 1.75em 2em;}
section#top_back_number .more {margin-block-start: 1.75em;}
section#top_theme {padding-block: 0.125em 3.125em;}
section#top_theme .flex_item {inline-size: 100%;font-size: 0.75em;margin-block-end: 3em;}
section#top_theme .wh_bg {padding-block: 3.25em 0.25em;}
.bnr_link {margin-block-end: 2em;inline-size: min(682px,100%);display: block;}
.bnr_link span.wh_bg {font-size: 1.125em;}
#top_bnr {padding-block: 3.65em 1.75em;}
#top_bnr .text {inset: 11vw auto auto 4vw;font-size: 0.5em;}
#top_movie .carousel .carousel-cell {inline-size: 100%;}
#link_area {padding-block: 2.75em 0.875em;}
#link_area .middle_inner a {inline-size: min(350px,49%);margin-inline-end: 2%;aspect-ratio: 350 / 120;}
#link_area .middle_inner a:nth-of-type(2n) {margin-inline-end: 0;}
#link_area .middle_inner a span {font-size: 0.825em;}
#top_movie {padding-block: 2.875em 2.5em;}
#top_movie .ttl_txt {font-size: 1.375em;}
#link_area .middle_inner a span.t {margin-block-start: 0.5em;}
#link_area .middle_inner a span.o {margin-block-start: 1.25em;}
#footer .logo_box .footer_ttl a.logo {
  margin-block-end: 0.875em;
}
#footer .sns .sns_ul {
  margin-block-end: 2em;
}
#footer .logo_box {
  inline-size: min(244px,100%);
  margin-block-start: 1em;
}
#footer .sns .db {
  margin-block-end: 0.5em;
}
#footer .menu_list {
  margin-inline-start: 1em;
}
#footer .menu_list li {
  margin-block-end: 1.25em;
}
p#page-top {
  font-size: 1.5em;inset: auto 3vw 20vw auto;
}
#page_top .page_ttl {
  font-size: 1.5em;
}
#page_top {
  padding-block: 2.5em 2.35em;
}
#message {
  padding-block: 2em 8em;background-size: 34.156% ,14.583%;
}
#message p.p_1 {
  font-size: 1em;
}
#message p.p_2 {
  font-size: 1em;margin-block-end: 1.875em;
}
#message .text_side {
  inline-size: 96%;
  margin-inline: 2%;
}
#message p.p_3 {
  font-size: 1em;
  margin-block: 0 2.25em;
  line-height: 1.875em;
}
#message strong.name {
  margin-block-start: 2.5em;
  display: block;
}
#message .img_side {
  inline-size: min(810px,94%);
margin-block-start: 4em;
margin-inline-start: 6%;
}
#message .img_side img {
  filter: drop-shadow(4em 3.5em 0 #efdfef);
}
#shisei {
  padding-block: 2.875em 2.125em;
}
#shisei .sub_ttl {
  font-size: 1.125em;
}
#shisei .file_item {
  inline-size: min(320px,49%);
  margin-inline-end: 2%;
  margin-block-end: 1.5em;
}
#shisei .file_item:nth-of-type(even) {
  margin-inline-end: 0;
}

#shisei .file_item p.gr_bg {
  font-size: 0.875em;
}

#shisei .file_item .pdf_link span.wh_bg {
  font-size: 1em;
}

#office {
  padding-block: 3em 2.65em;
}

#office .top_content .text_side {
  inline-size: 96%;
  margin-inline: auto;
  padding-block-start: 0;
}
#office .top_content .text_side .sub_ttl2 {
  font-size: 1.75em;
  text-align: center;
}
#office .top_content .text_side address {
  font-size: 1em;
}
#office .top_content .text_side .map {
  margin-block-start: 1.875em;
  inline-size: min(730px,100%);
}
#office .top_content .img_side {
  inline-size: min(715px,94%);
  margin-block-start: 2em;
  margin-inline-end: 6%;
}
#office .top_content .img_side img {
  filter: drop-shadow(-4.35em 5.25em 0 #efdfef);
}
#office .top_content::after {
  inline-size: min(330px,53%);
}
#office .top_content {
  background-size: 23.156% ,1.77%;
  background-position: right top 10em,left bottom 2.25em;
  padding-block-end: 8.5em;
}
#office .bottom_content {
  margin-block-start: 6em;
}
#office .bottom_content .map {
  inline-size: min(630px,100%);
  margin-block-start: 3em;
}
#office .bottom_content .right {
  inline-size: 100%;
}
#office .bottom_content .right .sub_ttl2 {
  font-size: 1.250em;
  margin-block: 1.125em 0.875em;
  text-align: center;
}
#office .bottom_content address {
  font-size: 1em;
}
#contact {
  padding-block: 3em 3.65em;
}
#contact p.p_1 {
  font-size: 0.875em;
  margin-block: 1em 3.5em;
}
#contact .lower_inner {
  padding-block: 2.25em 2.5em;
  border-radius: 1em;
  font-size: 0.875em;
}
form input[type="submit"] {
  width: 87%;
  font-size: 1.125em;
}
form dl dd {
  margin: 0px 0px 20px 0px;
  padding: 0;
}
form dl dt {
  font-size: 1em;
}
form a.back,
form a.post {
  display: block;
  width: 60%;
  margin-inline: auto;
    margin-block: 0em;
}
form input[type="text"], form input[type="tel"] {
  width: 100%;
  box-sizing: border-box;
}
form textarea {
  width: 100%;
  box-sizing: border-box;
}
section#top_report #information .flickity-prev-next-button {top: 44%;}
section#top_report .flickity-prev-next-button.previous {left: -0.5em;}
section#top_report .flickity-prev-next-button.next {right: -0.5em;}
section#top_back_number .flickity-prev-next-button.previous {left: -1.5em;font-size: 1em;}
section#top_back_number .flickity-prev-next-button.next {right: -1.5em;font-size: 1em;}
#top_movie .flickity-prev-next-button.previous {left: -0.5em;}
#top_movie .flickity-prev-next-button.next {right: -0.5em;}

#policy {padding-block: 4em 0;background-position: left top 2em,center top,left bottom 27.675%,right top 37.875%;}
#policy .contents {padding: 2.5em 2% 1em 2%;font-size: 0.875em;}
#policy .contents .column .cate_ttl {font-size: 1.875em;}
#policy .contents .column em.fb {font-size: 1.375em;}
#policy .contents .column .img_box img.center {inline-size: min(480px,90%);display: block;margin-block-end: 1.5em;}
#policy .contents .column {padding-block-end: 0.5em;margin-block-end: 6.25em;}
#policy .contents .column::after {inset: auto 0 -1.975em 0;inline-size: min(330px,70.25%);}
#policy .slide_container {margin-block-start: 3.45em;padding-block: 1em;}
#policy .slide_container #in_slide li.list {inline-size: min(480px,50%);margin-inline-end: 2%;}
#policy .slide_container #in_slide li.list img.img {border-radius: 0.75em;}
#policy .contents .column.bottom {padding-block-end: 0.5em;margin-block-end: 0em;}

#profile {padding-block: 8em 3em;}
#profile .text_side {
  inline-size: 100%;
  margin-inline-start: 0;
  padding-block-start: 0;
}
#profile .text_side .bg_box h3.name {
  font-size: 1.5em;
  inset: -1.125em auto auto 1em;
  margin-inline: auto;
  text-align: center;
}
#profile .text_side .bg_box {
  padding: 1.75em 0.5em 1.5em 0.5em;
}
#profile .text_side .img {
  inset: auto 1em 9.875em auto;
  inline-size: min(102px,3.5em);
}
#profile .text_side .ul .list .table {
  display: table;
}
#profile .text_side .ul {
  font-size: 0.875em;
}
#profile .text_side .ul .list .table .dt,
#profile .text_side .ul .list .table .dd {display: table-cell;}
#profile .text_side .comment {padding: 0.725em 1em 1em 1em;font-size: 0.875em;}
#profile .img_side {inline-size: min(660px,90%);filter: drop-shadow(1em 1em 0 #efdfef);margin: 2em auto auto auto;}
p.str {
  padding-inline-start: 1em;
}
p.str::before {
  inline-size: 130px;
}
p.str em.fb {
  font-size: 1.875em;
letter-spacing: 0.1em;
}
#biography .bio_ttl {
  font-size: 1.75em;
  padding-inline-start: 2.4em;
  margin-block: 1.125em 0.825em;
}
#biography .table {
  box-sizing: border-box;
  padding-inline-start: 0;
  margin-block: 0;
  font-size: 0.875em;border-block-end: 1px solid #ccc;
}
#biography .text_side::after,
#biography .text_side::before {
  content: none;
}
#biography .img_side {
  inline-size: 82%;
  margin-inline: auto;
}
#biography .text_side {
  inline-size: 100%;
  font-size: 1.125em;
  padding-inline: 0;
  padding-block: 1em;
  line-height: 1.875em;
}
#roots .middle_inner p.pa {
  margin-block: 0;
  inset: -2em 0 auto 0;
  z-index: 1;
  text-align: center;
  font-size: 0.75em;
}
#roots .middle_inner p.pa::before {
  inline-size: 150px;
}
#roots .img_side {
  inline-size: min(290px,100%);
  margin-inline: auto;
}
#roots .text_side {
  inline-size: 100%;
  font-size: 1em;
  padding-inline-start: 0;
}
#history .change_btn button.change {
  inline-size: min(350px,100%);
  font-size: 1.125em;
  padding-block: 0.75em 0.75em;
  display: block;
  margin-block-end: 1em;
  margin-inline: auto;
}
#history .change_list .y_ttl {
  font-size: 1.375em;
  padding-block-end: 0.45em;
  margin-block-end: 2.05em;
}
#history .change_list .table .dd {
  font-size: 0.875em;
}
#affiliation ul.left,
#affiliation ul.right {
inline-size: 100%;
}
#history {
  padding-block: 2em 1em;
}
#history .change_btn {
  margin: 2.55em auto 2.25em auto;
}
#affiliation div.df {
  margin-block-start: 1.5em;
}
#affiliation {
  border-block-end: 2px solid #f4eaf4;
  padding-block: 1em 3em;
}
#privacy {
  padding-block: 4em 3em;background-size: 25.156%, 14.583%,25.156%;
background-position: left top 17vw, center top,right bottom 5vw;
}
#privacy .ol {
  font-size: 1em;
  padding-inline-start: 1em;
}