@charset "utf-8";
/* Common */
#main{ position:relative; z-index:1; padding:40px 0 80px; }
#main::before{ position:absolute; z-index:-1; content:"";
	width:0; height:0; top:-300px; left:0;
	border-style:solid; border-width:300px 0 300px 800px;
	border-color:transparent transparent transparent #f4eeea; }
.bg_wa{ overflow:hidden; width:80%; margin:30px auto 50px; padding:40px 45px;
	background:url(../img/bg_wa.jpg) repeat; border:5px solid #bf6c73; }
.t_sub{ position:relative; margin-bottom:25px; padding:12px 12px 12px 20px; font-size:1.3em; font-weight:500;
	color:#a0271d; border-left:14px solid #a0271d; }
.t_sub::before{ position:absolute; content:""; width:30px; height:30px; top:13px; left:-27px;
	background:url(../img/svg/arrow_right_w.svg) no-repeat 0 center / contain; }
.t_sub span{margin-left:20px; font-size:0.85em; font-style:italic; }
.t_sub.gf-roboto{ font-size:1.4em; }
.sub{ position:relative; margin:15px 0 20px; padding-left:14px; font-size:1.05em; font-weight:500; line-height:1.5; }
.sub::before{ position:absolute; content:""; width:8px; height:8px; top:8px; left:0;
	background:#a0271d; border-radius:50%; }
.t_line{ margin:0 0 20px; padding:5px 10px; font-size:1.3em; color:#a0271d; font-weight:400;
	background:#FFF; border:2px solid #a0271d; }
.foto_list{ width:92%; margin:0 auto 60px; }
.foto_list .sub{ margin:15px 10px; }
.foto_list p{ margin:0 15px; font-size:0.95em; }
.t_data{ width:100%; }
.t_data tr > *{ padding:12px 18px; }
.t_data th{ width:25%; text-align:left; font-weight:500; color:#FFF; 
	background:#a0271d; border-bottom:2px dotted #bf6c73; }
.t_data td{ width:75%; border-bottom:2px dotted #a0271d; }
.t_data tr:last-child th, .t_data tr:last-child td{ border-bottom:0; }
.con{ width:92%; margin:0 auto 60px; }
main .con:last-child{ margin-bottom:0; }
.note{ margin:0 3px; color:#bf3f34; }
.stripe{ padding:50px 50px 30px; background:url(../img/stripe_red.png); }
.stripe_blue{ background:url(../img/stripe_blue.png); }
.stripe_blue .t_line{ color:#373f72; border-color:#373f72; }
.c_list li{ position:relative; margin:10px; padding-left:24px; font-size:1.15em; }
.c_list li::before{ position:absolute; content:""; width:12px; height:12px; top:10px; left:0;
	background:#222; border-radius:50%; }
.pan{ font-size:0.85em; }
.pan ul{ padding:25px 15px; overflow:hidden; }
.pan ul li{ margin-right:15px; float:left; }
.pan ul li:before{ content:"/　" }
.pan ul li a{ color:#222; }
.pan ul li a:hover{ text-decoration:none; }
.pan ul li:first-child{ padding-left:0; }
.pan ul li:first-child:before{ content:"" }
form .submit input{ margin: 1em auto 2em; padding: 0.5em 2em; font-size: 1.1em; cursor: pointer;
	color: #FFF; background: #373f72; border: none; transition: all 0.5s ease 0s; }
form .submit input:hover{ background: #bf3f34; }

.contents.flex main  { width:calc(100% - 320px); order:2; }
.contents.flex aside { width:280px; margin-right:40px; order:1; }

/* Business */
#business .bg_wa figure{ width:25%; float:left; }
#business .bg_wa .txt{ width:70%; float:right; }
#shopforshop .foto_list li:nth-child(1){ width:50%; }
#shopforshop .foto_list li:nth-child(2), #shopforshop .foto_list li:nth-child(3){ width:23.33%; }
#shopforshop .t_data{ width:92%; margin:0 auto; }
#iremonya .foto_list li{ width:32%; }
.bg_iremonya.con{ padding:20px 0 20px 280px;
	background:url(../img/business/bg_iremonya01.jpg) no-repeat; }
.bg_iremonya.iremonya02.con{ background-image:url(../img/business/bg_iremonya02.jpg); }
.model{ overflow:hidden; }
.model figure{ float:left; margin-right:30px; }
.model h4{ float:left; }

/* Company */
#division #companypolicy .bg_wa{ width:90%; margin-bottom:30px; padding:50px 60px; border:0; }
#division #companypolicy .bg_wa .pic_boss{ width:40%; float:left; margin:0 50px 20px 0; }
.boss_name{ margin:30px 0 0 0; text-align:right; font-size:1.2em; font-weight:500; }
.boss_name .logo{ display:inline-block; width:220px; }
.boss_name .logo img{ width:100%; }
.boss_name span{ font-size:0.9em; }
#division #index .t_data{ width:92%; margin:0 auto; }
#division #index .t_data th{ width:20%; }
#division #index .t_data td{ width:80%; }
#history .t_data{ width:100%; }
#history .t_data th{ width:15%; text-align:center; }
#history .t_data td{ width:85%; }
#office .txt{ width:65%; float:left; }
#office .t_data{ margin-bottom:30px; }
#office .pic{ width:30%; float:right; margin-top:30px; }
#office .pic.mini{ width:20%; }
#office .pic figcaption{ margin-top:20px; text-align:right; font-size:0.9em; }
#office .map{ width:100%; height:280px; border:0; }
#office .col2{ width:45%; }
#office .col2 .pic{ width:70%; float:none; margin:0 auto; }
#office .col2 .t_data th{ width:15%; }
#office .col2 .t_data td{ width:85%; }
.chart{ width:80%; margin:0 auto; }
.chart img{ width:100%; }
.tenran .t_line{ width:26%; float:left; text-align:center; }
.tenran .ex{ width:68%; float:right; margin:0 0 30px; }
.tenran li{ width:23%; margin:0 1% 20px; }
.tenran li .sub{ font-size:0.9em; }

/* idea */
#idea .t_sub { padding:0 12px 0 20px; font-size:1.5em; }
#idea .t_sub .gf-roboto{ position:relative; margin-right:20px; margin-left:0; padding-right:20px; font-size:1.8em; }
#idea .t_sub .gf-roboto::before{ position:absolute; content:"/"; right:-6px;  }
#idea .philosophy { background:url(../img/division/bg_philosophy.png) no-repeat 100% 100% #7fc6fe; }
#idea .philosophy .txt { width:45%; padding-top:46px; color:#fff; font-size:26px; text-align:center; line-height:1.5; }
#idea .philosophy .txt span { font-size:35px; }
#idea .philosophy figure { width:55%; margin-top:-20px; }
#idea .vision .item_list { margin-top:50px; padding:0 60px 30px 60px; text-align:center; border:4px solid #bf6c73; }
#idea .vision .item_list .lead { display:inline-block; padding:0 20px; margin:-40px 0 20px; 
	font-size:25px; color:#9c2a26; text-align:center; background:#fff; }
#idea .vision .item_list .lead span { font-size:50px; font-style:italic; }
#idea .vision .item_list1 li { width:21%; }
#idea .vision .item_list2 { width:73%; margin:-14px auto 0; }
#idea .vision .item_list2 li { width:28%; }
.ci .stripe{ padding:50px 30px 30px 55px; overflow:hidden; }
.ci .t_line{ display:inline-block; padding:10px 30px; }
.ci .stripe .txt{ width:60%; float:left; }
.ci .en_list{ width:36%; float:right; margin-top:30px; }
.ci .en_list li{ width:170px; height:170px; margin:0 4px; padding:50px 0 0; text-align:center; 
	font-size:1.4em; line-height:1.4; color:#FFF; border-radius:50%; background:#9c2a26; }
.ci .en_list li .gf-roboto{ display:block; font-style:italic; opacity:0.4; }
.ci .en_list li:last-child{ margin-top:-15px; }
.ci .stripe_blue .en_list{ float:left; margin-top:0; }
.ci .stripe_blue .en_list li{ background:#373f72; }
.ci .stripe_blue .en_list li:first-child{ margin:0 20px -15px; }
.ci .stripe_blue .en_list li:last-child{ margin-top:0; }
.ci .stripe_blue.stripe .txt{ float:right; }
.logo_list{ width:70%; margin:30px auto; overflow:hidden; }
.logo_list li{ float:left; }
.logo_list li img{ width:100%; }
.logo_list .logo_sq{ width:220px; margin-right:20px }
.logo_list .logo{ width:410px; margin:0 0 20px 15px }
.logo_list .logo_mono{ width:150px; }
.logo_list .logo_txt{ width:260px; margin:30px 0 0 15px }
.logo .txt li{ width:48.6%; margin:7px 0.7%; padding:30px 30px; font-size:0.9em; background:#f8eceb; }
.logo .txt li .t_line{ background:none; }
.local_list{ width:85%; margin:60px auto 0; }
.local_list li{ margin-bottom:50px; border-left:2px solid #373f72; border-bottom:2px solid #373f72; }
.local_list li .title{ width:80px; float:left; margin:-30px 0 0 -40px; text-align:center; 
	font-size:1.1em; font-weight:500; }
.local_list li .title .round{ display:inline-block; width:80px; height:80px; padding:10px 0 0; line-height:1.0;
	color:#FFF; background:#373f72; border-radius:50%; }
.local_list li .title .gf-roboto{ display:block; font-size:2.2em; }
.local_list li .txt{ width:90%; float:right; }
.local_list li figure{ display:inline-block; width:46%; margin:20px 1%; }
.local_list li:nth-child(3) figure{ width:100%; }
.local_list li:last-child figure{ width:60%; }

/* Catalogue */
#digital .con{ margin-bottom:30px; padding:35px 55px 50px; overflow:hidden; }
#digital .con .txt{ width:70%; float:right; }
#digital .con .pic{ width:25%; float:left; }
#digital .con .pic figure{ margin:20px auto 10px; text-align:center; }
#digital .con .txt .a_arrow_right_w{ width:50%; margin:20px auto 0; }
#digital .con .txt .flex li{ width:47%; }
#digital .con .txt .flex li .a_arrow_right_w{ width:100%; }
#digital .con .txt .flex li:first-child .a_arrow_right_w{ background:#a07d65; }
#digital .con .txt .flex li:first-child .a_arrow_right_w:hover{ background:#baa090; }
.flyer_list li{ width:30%; text-align:center; }
.flyer_list li .a_arrow_right_w{ width:80%; margin:20px auto; }

/* Contact */
#contact .a_arrow_right_w{ display:block; width:40%; margin:20px auto; }

/* Calendar */
#calendar h3 + .close { margin-top:-2em; text-align:right; }
#calendar .list + h3 { margin-top:40px; }
#calendar .close .close { color:#f5cac7; }
#calendar .close .inventory { color:#c1d6c5; }
#calendar .calendar { width:23%; margin-bottom:20px; border-collapse:collapse; }
#calendar .calendar th { color:#FFF; background-color:#373F72; border:1px solid #373F72; }
#calendar .calendar td { text-align:center; background-color:#FFF; border:1px solid #757ebc; }
#calendar .calendar td.week { background-color:#dcdeee }
#calendar .calendar td.close { background-color:#f5cac7; }
#calendar .calendar td.inventory { background-color:#c1d6c5; }

/*1199px 以下  1100px-1199px */
@media screen and (max-width:1199px) {

	/* Idea */
	.ci .en_list li{ width:120px; height:120px; font-size:1.2em; }
	.logo_list{ width:80%; }
	
}

/*1099px 以下  960px-1099px */
@media screen and (max-width:1199px) {

	/* Idea */
	.ci .en_list li{ padding-top:30px; }	
}

/*959px 以下  760px-959px */
@media screen and (max-width:959px) {

	#main{ padding-top:20px; }
	.bg_wa{ width:95%; padding:30px; background-size:50px; }
	.t_data tr{ display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; }
	.t_data tr > *{ padding:8px 10px; }
	.t_data th{ width:100%; text-align:left; border-bottom:0; }
	.t_data td{ width:100%; padding-bottom:20px; border-bottom:0; }
	.t_line{ font-size:1.1em; }

	.contents.flex main  { width:100%; order:1; }
	.contents.flex aside { width:100%; margin-right:0; order:2; }

  /* Business */
  .foto_list{ margin-bottom:30px; }
  .foto_list .sub{ margin:15px 0; }
  .foto_list p{ margin:0; }
  #division #index .t_data th{ width:100%; }
	#division #index .t_data td{ width:100%; }

	/* Company */
	#history .t_data{ font-size:0.9em; }
	#history .t_data th{ border-bottom:1px dotted #bf6c73; }
	#history .t_data td{ border-bottom:1px dotted #a0271d; }
	#history .t_data tr:last-child th, #history .t_data tr:last-child td{ border-bottom:0; }
	#idea .philosophy .txt { font-size:18px; }
	#idea .philosophy .txt span { font-size:27px; }
	#idea .vision .item_list .lead{ font-size:1.2em; }
	#idea .vision .item_list .lead span{ font-size:1.5em; }
	.ci .stripe{ padding:30px 30px 20px; }
	.ci .en_list li{ margin:0 0 10px !important; }
	.ci .t_line{ padding:10px 20px; }
	.c_list li{ font-size:1.0em; }
	.logo_list{ width:90%; }
	.logo_list .logo_sq{ width:30%; }
	.logo_list .logo{ width:60%; }
	.logo_list .logo_mono{ width:20%; }
	.logo_list .logo_txt{ width:35%; }
	.tenran li .sub{ margin:10px 0 0; }
	.chart{ width:100%; }

	/* Catalogue */
	#digital .con{ width:100%; padding:30px 35px 30px; }
	#digital .con .txt .a_arrow_right_w{ margin-top:10px; }
	#digital .con .txt .flex li{ width:48%; }
	#digital .con .txt .flex li .a_arrow_right_w{ font-size:0.9em; }

	/* Contact */
	#contact .a_arrow_right_w{ width:60%; }

	/* Calendar */
	#calendar .calendar { width:32%; }
}

/*759px 以下  600px-759px */
@media screen and (max-width:759px) {

	#main{ padding:10px 0 50px; }
	.foto_list{ width:100%; }
	.bg_wa{ width:100%; margin-bottom:30px; padding:20px; }
	.sub{ font-size:1.0em; }
	.pan{ display:none; }

	/* Business */
	#shopforshop .t_data{ width:100%; }
	#business .bg_wa figure{ width:50%; float:none; margin:0 auto; }
	#business .bg_wa .txt{ width:100%; float:none; }
	#shopforshop .foto_list li:nth-child(1){ width:100%; margin-bottom:30px; }
	#shopforshop .foto_list li:nth-child(2), #shopforshop .foto_list li:nth-child(3){ width:48%; }

	/* Company */
	#division #companypolicy .bg_wa{ width:100%; margin-bottom:20px; padding:40px 40px; }
	#division #companypolicy .bg_wa .pic_boss{ width:60%; float:none; margin:0 auto 40px; }
	.boss_name{ font-size:1.1em; }
	#history .t_data th{ width:17%; }
	#history .t_data td{ width:83%; }
	#office .txt{ width:100%; float:none; }
	#office .pic{ width:60%; float:none; margin:30px auto 0; }
	#office .map{ height:250px; }
	#office .col2{ width:100%; }
	#office .col2 .pic{ width:60%; }
	#office .col2 .t_data th{ width:100%; }
	#office .col2 .t_data td{ width:100%; }
	#office .pic.mini{ width:60%; }
	.tenran .t_line, .tenran .ex{ width:100%; float:none; }
	.tenran li{ width:30%; margin:0 1.5% 20px; }

	/* idea */
	#idea .philosophy { background-size:80%; }
	#idea .philosophy .txt { width:100%; padding-top:20px; }
	#idea .philosophy figure { width:94%; margin:0 auto; text-align:center; }
	#idea .vision .item_list .lead span{ display:block; line-height:1.2; }

	/* Catalogue */
	#digital .con .pic{ width:100%; float:none; }
	#digital .con .txt{ width:100%; float:none; }
	#digital .con .pic figure{ width:60%; }
	.flyer_list li{ width:100%; margin-bottom:30px; }

	/* Contact */
	#contact .a_arrow_right_w{ width:80%; }

}

/*599px 以下*/
@media screen and (max-width:599px){
	
	.t_sub{ padding:6px 0 6px 10px; font-size:1.05em; border-width:5px; }
	.t_sub::before{ width:8px; height:8px; top:50%; left:-5px; margin-top:-4px; line-height:1.5;
		background:#a0271d; border-radius:50%; }
	.foto_list{ margin-bottom:20px; }
	.con{ margin-bottom:30px; }
	.t_data th{ padding:5px 10px; }
	.t_line{ font-size:1.0em; }
	.con{ width:100%; }
	.stripe{ padding:25px; }

	/* Business */
	#business .bg_wa figure{ width:70%; }
	.foto_list .sub{ font-size:0.85em; }
	.bg_iremonya.con{ padding:0 0 200px 0; background-size:90%; background-position:left bottom; }
	.model figure{ float:none; margin:0 auto 20px; }
	.model h4{ float:none; }


	/* Company */
	#division #companypolicy .bg_wa{ margin-bottom:0; padding:30px 20px; }
	#division #companypolicy .bg_wa .pic_boss{ width:90%; margin-bottom:20px; }
	.boss_name{ font-size:1.0em; }
	#history .con{ width:100%; }
	.tenran li{ width:46%; margin:0 2% 15px; }
	.tenran li .sub{ margin-top:5px; font-size:0.85em; }

	/* Idea */
	#idea .t_sub { line-height:1.2; }
	#idea .t_sub .gf-roboto{ display:block; margin:0; padding:0; line-height:1.0; }
	#idea .philosophy .txt{ padding-top:0; }
	.ci .stripe .txt, .ci .en_list{ width:100%; float:none; }
	.ci .en_list{ margin-top:0; }
	#idea .t_sub .gf-roboto::before{ content:none; }
	#idea .vision .item_list{ padding:0 10px 10px; }
	#idea .vision .item_list .lead{ padding:0; font-size:0.9em; }
	#idea .vision .item_list2{ margin-top:0; width:100%; }
	#idea .vision .item_list1 li,
	#idea .vision .item_list2 li { width:48%; margin-bottom:5px; }
	.ci .t_line{ padding:5px 10px; }
	.ci .stripe{ padding:25px; }
	.ci .en_list li{ width:100px; height:100px; margin:0 4px !important; }
	.ci .en_list li:last-child{ margin-top:-10px !important; }
	.logo_list{ width:100%; }
	.logo_list .logo_sq{ margin:0; }
	.logo_list .logo{ margin:0 0 10px 10px; }
	.logo_list .logo_txt{ margin:10px 0 0 10px; }
	.logo .txt li{ width:100%; margin:7px 0; padding:20px; }
	.local_list{ width:90%; }
	.local_list li .title{ width:60px; font-size:0.9em; margin-left:-30px; }
	.local_list li .txt{ width:85%; }
	.local_list li .title .round{ width:60px; height:60px; }
	.local_list li figure{ width:100%; }
	.local_list li .title .gf-roboto{ font-size:1.9em; }
	.local_list li .title .round{ pading-top:8px; }

	/* Catalogue */
	#digital .con{ padding:15px; }
	#digital .con .txt .flex li{ width:100%; }

	/* Calendar */
	#calendar .list + h3 { margin-top:20px; }
	#calendar .calendar { width:100%; }
	#calendar .calendar.past { display:none; }
}
