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

body { font-size:14px; }

/********** header *******************/
body{
	padding-top: 8em;
}
header#header{
	padding: 1.7em 0 0.7em 0;
}
header#header h1 {
	margin:0.5em 0 0.5em 0;
}
header#header nav {
	position:relative;
    display: block;
    padding-top: 0;
    width: 100%;
}
header#header #spnav {
	display:block;
	font-size:3em;
	position:absolute;
	top:0.6em;
	right:0.5em;
	z-index:1000;
}
header#header #spnav a {
	color:#331900;
}
header#header section h1.logo {
	width:51%;
	max-width: 174px;
}
header#header nav ul#nav {
	position:absolute; top:-0.4em; left:0; right:0;
	z-index:100;
	width:100%;
	margin:0 0 1px 0; padding:0;
	display:none;
	border: 1px solid rgba(108,81,66,0.6);
	box-shadow: 0 0 8px #FFF;
	box-sizing: border-box;
}
header#header nav ul#nav li {
	display: block;
	margin: 0 0 0 0;
	width: 100%;
	background-color:#FFF;
	border-bottom: 1px dotted;
	line-height: 2.5;
	padding:0;
}
header#header nav ul#nav li:last-of-type {
	border-bottom: none;	
}
header#header nav ul#nav li a {
	display:block;
	padding:0.5em;
	text-align:center;
	font-size: 1.2em;
}
header#header nav ul#nav li a img{
	display: inline-block;
	width: 2em;
	padding-right: 1em;
	padding-top: 0.4em;
}
header#header section h1.logo.logo_pc{
	display:none;
}
header#header section h1.logo.logo_sp{
    display: block;
	max-width: 191px;
}
header#header #trans {
	float:none;
	margin: 1em 0 0 0;
	text-align: left;
}
header span.border{
	display: none;	
}

/**********  footer  **********/

footer#footer nav ul{
	/* display:block; */
	flex-wrap: wrap;
    justify-content: center;
}
footer#footer nav ul li{
	display: inline-block;
	margin: 0 0.7em;
	line-height: 1.5;
}
footer#footer nav ul li {
    line-height: 1.5;
}
footer#footer nav ul li a{
	font-size: 1em;
}
#page-top{
	bottom: 9em;
	right: 4%;
}
footer p.copy{
	font-size: 0.8em;
}

img.common_img.pc{
	display: none;
}
img.common_img.sp{
	display: block;
}


/**************  top  ******************/

/*** top_contents ***/
h3.section_ttl p::before{
	width: 90px;
	height: 54px;
	left: -3em;
	top: 0em;
}
h3.section_ttl p::after{
    width: 36.666px;
    height: 26px;
    top: 1em;
	left:6.5em;
}
p.tg_subttl{
	text-align: left;
}
p.tg_subttl br{
	display: none;
}

/*** top_about ***/
section#top_about p.red{
	width: 92%;
}
div.tat_container{
	background-position: 80% center;
}
div.tat_container img{
	width: 250%;
}
section#top_about div.move{
	top: -3em;
}
section#top_about p.red{
	text-align: left;
}
section#top_about p.red br{
	display:none;
}
h2.top_about_ttl{
	font-size: 1.2em;
	padding: 5.7em 0;
}
p.red{
	font-size: 1.1em;
}
div.top_about_flex img{
	float: none;
	max-width: none;
	width: 75%;
	margin: auto;
	display: block;
}
div.ta_flex_txt{
	width: 100%;
	margin: 0;
	float: none;
	max-width: none;
	font-size: 1em;
	margin-top: 2em;
	padding: 0.3em 0em 2em 0em;
}
div.ta_flex_txt p{
	padding: 0.4em;
}

/*** top_menu ***/
div.menu_part{
	width: 49%;
	margin-right:2%;
	margin-bottom:2em;
}
div.menu_part:nth-child(3n){
	margin-bottom: 2em;
	margin-right: 2%;
}
div.menu_part:nth-child(2n){
	margin-right:0;
}
p.menu_ttl{
	max-width: 100%;
	min-width: 100%;
}
p.menu_ttl a span.large{
	min-width: 100%;
	max-width: 100%;
	padding: 0.35em 0;
	text-indent: 0.5em;
}
p.menu_ttl a span.large i{
	display: none;
}
p.menu_ttl a:hover{
	font-size:1em;
}
p.menu_ttl a:hover .large{
	min-width: 100%;
}

/*** top_daily ***/
div.yellow_flex div.left_container, div.green_flex div.left_container{
	float:none;
	width:100%;
}
div.note div.cell{
	padding: 1.5em 1em 4.5em 1em;
}
div.note p.black{
	text-align: center;
	display: block;
	padding: 0.5em 0;
}
div.note p.black span{
	display:block;
}
div.note p.white{
	font-size: 1.1em;
	/*text-align: center;*/
}
div.note p.white span{
	padding: 0.09em 0em;
}
div.note span.note_txt br{
	display:none;
}
div.note span.note_txt{
	margin: 1.5em 0 0.5em 0;
}
div.note img.circle_img,
div.note img.circle_img + img.circle_img,
div.note img.circle_img.green_circle{
	display: block;
	margin: 1em auto;
	width: 100%;
}
img.yellow_clip,
img.green_clip{
	bottom: 98.6%;
	right: auto;
	width: 20%;
	left: 3em;
	padding-top:8em;
}
div.yellow_flex div.right_container,
div.green_flex div.right_container{
	width: 100%;
	max-width: none;
	margin-top:1em;
}
div.right_container table th span::before{
	right: -8px;
}
div.yellow_flex div.right_container table th span::before {
    border-left: 8px solid #F9C02B;
	border-top: 16px solid transparent;
	border-bottom: 16px solid transparent;
}
div.green_flex div.right_container table th span::before {
    border-left: 8px solid #9FCC73;
	border-top: 16px solid transparent;
	border-bottom: 16px solid transparent;
}
div.right_container table th{
	width: 31.5%;
}
div.right_container table th, div.right_container table td{
	padding: 0.8em 0 0.8em 0em;
}
div.right_container table td{
	padding-left:1em;
	font-size:1em;
}
div.right_container img.table_img02{
	top: 28%;
	right: 11%;
}
div.right_container img.table_img03{
	top: 39%;
}
div.right_container img.table_img04{
	top: 70.5%;
}
div.right_container img.table_img06{
	top: 29%;
}
div.right_container img.table_img07{
	right: 13%;
}
div.note + div.note {
    margin-top: 5.5em;
}

/*** top_company ***/
section#top_company table{
	width: 100%;
	float: none;
	margin-top: 0;
}
section#top_company table th{
	padding-left: 5%;
	width: 8em;
}
section#top_company table td{
	padding-right: 5%;
}
section#top_company img{
	width: 100%;
}
div.top_contact{
	display: block;
}
div.contact_box .btn {
    height: 54px;
    line-height: 54px;
    margin-bottom: 1em;
    font-size: 1.4em;
}
div.t_bottom_cont,
div.t_bottom_cont.t_bottom_right{
	margin: 0 auto;
	display: block;
}
div.t_bottom_cont{
	width: 100%;
	min-height: auto;
	margin-bottom: 2em;
	padding-bottom: 1.5em;
}
div.t_bottom p.t_bottom_ttl{
	padding: 0.4em 0;
}
div.t_bottom_cont.t_bottom_right{
	margin:0 auto;
}
div.t_bottom_cont:nth-of-type(1), div.t_bottom_cont:nth-of-type(2){
	min-height:auto;
}
div.t_bottom ul#pdf_area li{
	width: 95%;
}
div.t_bottom ul#pdf_area li a.pdf{
	padding: 0.65em;
	letter-spacing: 0;
}
div.t_bottom ul#pdf_area li a.pdf i.right{
	display: none;
}
div.t_bottom div#adb{
	margin-top: 1em;
}
div.t_bottom a.adl{
	width: 100%;
	display: block;
	margin: auto;
	float: none;
}
div.t_bottom a.adb-dwl{
	text-align: center;
	margin:1.5em auto auto auto;
	float: none;
	width: 100%;
	display: block;
}
div.t_bottom p.adb_txt{
	padding-bottom: 0em;
}
div.t_bottom p.adb_txt br{
	display:none;
}
p.border_ttl{
	font-size:1.5em;
}


/*********** 見出し *****************************/

.inner,
.middle_inner,
.lower_inner {
	width:96%; /*padding-left:2%; padding-right:2%;*/
}
br.pc_br{
	display:none;
}
.sp {
	display: block;
}
.pc {
	display: none;
}
.gst{
	display:none;
}
.flex{
	display:block;
}
.flex img{
	width:100%;
	height:0%;
}
.sp_br{
	display:block;
}

/*****************  faq  *******************/

h2.content_ttl{
	margin: 1.3em auto;
}
section#faq dl {
    margin: 2em auto 5em auto;
}
section#faq dl dt, section#faq dl dd{
	padding: 0 1em;
}
section#faq dl dt span.logo{
	vertical-align: text-top;
	line-height: 1;
}
section#faq dl dd span.sp_br{
	display:block;
}
section#faq dl dt span.txt{
	vertical-align: text-top;
}
section#faq dl dd span.logo{
	vertical-align: text-top;
}
section#faq dl dt{
	padding-top: 2em;
}
section#faq dl dd{
	padding-bottom: 2em;
}

/**************  contact  ***************/

section#contact {
    padding-bottom: 4em;
}
section#contact p.btn_top{
	margin:2em auto 0.7em auto;
}
p.second_border_ttl {
    margin-top: 2.5em;
}
div.contact_box {
    width: 93%;
    margin: 0 auto;
}
section#contact form table{
	width: 100%;
}
section#contact form table th, section#contact form table td{
	display: block;
}
section#contact form table th{
	width: 100%;
	text-align: left;
	padding: 0;
	border-bottom: 1px solid #CCC;
	background-color:#fbf8f4;
}
section#contact form table td {
    width: 100%;
    padding: 0.7em 0 0.7em;
}
section#contact div.contact_box{
	width: 100%;
	display: block;
	margin: auto;
}
p.form_txt{
	text-align:left;
}
p.complete_txt{
	padding-bottom: 3em;
}
form a.back, form a.post{
	display: block;
	width: 100%;
	margin: 0 auto;	
}

/********* about_us *********/

div.about_ttl p.at_main span {
    font-size: 2em;
}
div.about_ttl img.deco{
	top: 3.8em;
}
div.about_ttl span.at_large{
	font-size: 1.3em;
}
div.about_section div.note_txt{
    display: block;
    width: 100%;
	margin: 0 auto;
}
div.about_section div.note_txt p span{
	display:inline;
}
div.about_section img.thum,
div.about_section.blue img.thum{
	margin: 0 auto;
	display: block;
	width: 100%;
}
div.about_section.blue img.thum{
	margin: 1em auto 2em auto;
}
section#about_us div.note{
	margin-top: 5em;
}
section#about_us div.note img.yellow_clip{
	right: auto;
	width: 20%;
	left: 3em;
	bottom: 98%;
}
section#about_us div.note div.left_container,
section#about_us div.note div.right_container{
	float: none;
	width: 100%;
	margin: 0 auto;
}
section#about_us div.note img.toy{
	width: 100%;
	margin: 0 auto;
	display: block;
}
section#about_us div.note div.right_container img,
section#about_us div.note div.right_container img + img{
	display: block;
    width: 100%;
    margin: 1em auto 0 auto;
}
section#about_us div.about_section.white div.border_box p.marker{
	display: block;
	text-align: center;
}
section#about_us div.about_section.white img.left,
section#about_us div.about_section.white img.left:last-of-type,
section#about_us div.about_section.photo_container img,
section#about_us div.about_section.photo_container img:nth-of-type(2n){
	float: none;
	width: 100%;
	display: block;
	margin: 0 auto 1em auto;
}

/*********** staff *************/

div.staff_container,
div.staff_container:nth-of-type(4n){
	float: none;
	width: 100%;
	max-width: none;
	margin: 2em auto;
	height:auto;
}
div.staff_container dl:first-of-type dd,
div.staff_container.line02 dl:first-of-type dd,
div.staff_container.line03 dl:first-of-type dd{
	min-height: auto;
}


/****** id link ******/

section#contact div#form_top{
    margin-top: -7em;
    padding-top:7em;
}
section#about_us #policy, section#about_us #intervention, section#about_us #features{
	margin-top: -11em;
	padding-top: 11em;
}


/****** company ******/
#company_page .prof {
    width: 100%;
    float: none;
}

#company_page dl.table dt {
    width: 7em;
}

#company_page .map {
    width: min(545px,100%);
    margin: 2em auto 0 auto;
    display: block;
    float: none;
}

#company_page .staff_left,
#company_page .staff_right {
    width: 100%;
    float: none;
}
#company_page .staff_right p span {
    margin-left: 0;
    margin-top: 0.5em;
    display: block;
}
#company_page h2 {
    margin-bottom: 1.25em;
}

/****** kumu ******/
section#kumu_top .kumu_img {
    width: min(550px,86%);
}

section#message dt.main {
	font-size: 1.5em;
}

section#work .work_content h2 {
	font-size: 1.625em;
}

section#work .work_content {
    padding: 2.5em 0 3em
}

section#work .work_content p.w_txt {
    font-size: 1.3em;
}

section#work .sp_dib {
	display: inline-block;
}
section#schedule .usetime, section#schedule .dayflow {
    padding: 0.7em 0.5em 0.7em 1em;
}

section#schedule .flow_box {
    font-size: 1.35em;
}
/* section#schedule .flow_list {
    text-indent: -4em;
    padding: 0.211em 0em 0.211em 5em;
    font-size: 1.2em;
    width: min(640px,79%);
	box-sizing: none;
} */

section#schedule .flow_list dt {
    width: 23%;
}
h3.c_ttl { 
	font-size: 1.5em;
	padding-left: 1em;
}
h3.c_ttl::before {
    left: -0.35em;
}
h3.c_ttl, h3.c_ttl2 {
	font-size: 1.5em;
}
section#kumu_top p.ads {
	font-size: 1.2em;
}
section#schedule, section#kumu_about {
	padding: 2em 0 1em;
}
section#schedule .usetime p.time {
    font-size: 1.25em;
}
section#schedule .arrow {
    font-size: 1.9em;
}

section#work .th_point h2 {
	font-size: 1.4em;
}

section#work .container {
	display: block;
	margin: 1.5em auto;
}

section#work .circle_box {
    width: min(320px,98%);
    margin: 0 auto 1.5em;
}

section#kumu .th_point p.center {
	font-size: 1.5em;
}

section#schedule .dayflow ul {
	font-size: 0.93em;
}

/* section#schedule .flow_list {
    font-size: 1.19em;
} */

section#kumu_about .exp, .k_price, .k_flow {
    padding: 0 1em 1.5em;
}

section#message dd.mtxt, .e_txt, .e_txt2, .kf_txt {
    font-size: 1em;
}

section#schedule .dayflow p.f_exp {
    font-size: 1em;
    padding-left: 1.1em;
}

.kf_ttl {
	font-size: 1.13em;
}

section#message dd.mtxt, .e_txt, .e_txt2, .kf_txt {
	font-size: 1em;
}

section#kumu_about .tri_box {
    width: min(30px,98%);
    margin: 0.5em auto;
}

section#kumu_contact .logo_img {
    width: min(322px,80%);
}

section#kumu_contact .kumu_ct {
    padding: 1em;
}

section#kumu_contact p.c_time {
	font-size: 1.15em;
}

section#kumu_contact p.adress {
	font-size: 1.25em;
}

section#kumu_contact .map_img {
    margin: 0 auto 1.5em;
}

/* contact_kumu */

section#contact_kumu .logo_container {
    gap: 2em;
    padding: 2.75em 0 2em;
}

section#contact_kumu .item01 {
    width: min(153px,33%);
}

section#contact_kumu .item02 {
    width: min(161px,33%);
}

section#contact_kumu .tel_box {
    padding: 2.5em 0;
    margin-bottom: 3em;
}

section#contact_kumu .main_ttl {
    font-size: 1.5em;
}

section#contact_kumu .btn_box {
    width: min(300px,70%);
    margin: 1.55em auto 0;
}

section#contact_kumu .btn {
    padding: 0.25em 0;
    font-size: 1.5em;
    line-height: 1.5;
}

section#contact_kumu .txt {
    margin: 1.6em 0;
    font-size: 1em;
}

section#contact_kumu .form_dl {
	display: block;
    padding: 1em;
}

section#contact_kumu .form_dt {
	display: block;
    width: 100%;
    padding: 0;
	margin: 0 0 0.8em;
    max-width: none;
}

section#contact_kumu .form_dd {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
}

section#contact_kumu input {
	width: 100%;
    box-sizing: border-box;
}

section#contact_kumu textarea {
	width: 100%;
    box-sizing: border-box;
}

section#contact_kumu .form_btn {
    width: min(272px,80%);
    font-size: 1.5em;
}

section#contact_kumu .btn_contaner {
	flex-direction: column;
    gap: 1.5em;
    margin-top: 1em;
}

section#contact_kumu form a.back_btn,
section#contact_kumu form a.post_btn {
	width: 85%;
    padding: 0.4em 0;
}