@charset "utf-8";
/* 	Base
------------------------------------ */
html{
	box-sizing: border-box;
    font-size: 62.5%;
}


html,body,.wrapper {
	width: 100%;
	position: relative;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	
	line-height: 2rem;
	color: #333333;
}
#wrapper {
	padding: 0 0 0 0;
	position: relative;
}
a:hover {
/*	-moz-opacity:0.5;
	opacity:0.5;
*/
}
a {
	text-decoration: none;
	-webkit-transition: all 0.2s 0s ease;
	-moz-transition: all 0.2s 0s ease;
	transition: all 0.2s 0s ease;
}

.is-coming{
	-moz-opacity:0.5;
	opacity:0.5;
}

.right {
	float: right;
	width: 50%;
}
.left {
	float: left;
	width: 50%;
}
.cf img {
	width: 100%;
}
section {
}

.pc{
	display: block;
}

.sp{
	display: none;
}

/* 	cover
------------------------------------ */
#cover{
	overflow: hidden;
}

#cover:before {
    top: 20px;
    left: 0;
    width: 100%;
    height: calc(100% - 40px);
}
#cover:before {
    /*border-top: solid 1px #ff0000;
    border-bottom: solid 1px #ff0000;*/
}
#cover:before, #cover:after {
    content: '';
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: fixed;
    pointer-events: none;
    z-index: 99;
}

#cover:after {
    left: 20px;
    top: 0;
    height: 100%;
    width: calc(100% - 40px);
}

#cover:after {
    /*border-left: solid 1px #ff0000;
    border-right: solid 1px #ff0000;*/
}

/* 	header
------------------------------------ */
header {
	width: 100%;
	z-index: 9999;
}

header div#header_inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
}

.topbox{
	width: 100%;
	height: auto;
	background: url("../images/common/bg_photo.png") no-repeat center;
	background-size: cover;
	position: relative;
	z-index: 900;

}


/* 	nav
------------------------------------ */

nav{
	width: 100%;
	padding: 0 0;
	margin: 0 auto 0 auto;
	position: absolute;
	top: 40px;
	
}


nav ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
	display: flex;
    -webkit-flex-flow: row wrap;
	justify-content: flex-end;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	padding: 10px 0;
	box-sizing: border-box;
}
nav li {
	font-weight: bold;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	position: relative;
	margin-right: 20px;
	text-transform: uppercase;
}
nav li:last-child {
	content: "";
	margin-right: 40px;
}

nav li a {
   width: 100%;
	color: #FF0000;

}

.section__group{
	width: 100%;
	padding: 0 0;
	margin: 0 auto 0 auto;
	position: absolute;
	top: 30px;
	z-index: 1000;
	
}

.section__group ul{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
	display: flex;
    -webkit-flex-flow: row wrap;
	justify-content: flex-end;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	padding: 5px 0;
	box-sizing: border-box;
}

.section__group li{
	margin-right: 10px;
}
.section__group li:last-child {
	content: "";
	margin-right: 30px;
}

/*
=====
DEPENDENCES
=====
*/

/*
1. Removes the any mouse events, i.e hover that works by default
*/

.rlink{
  display: var(--rlink-display, inline-flex) !important;
}

.rlink[href]{
	color: #ce171c;
	font-weight: bold;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	position: relative;
	text-transform: uppercase;
}

.rlink:not([href]){
  pointer-events: none; /* 1 */
}

/*
1. Removes the any mouse events, i.e hover that works by default
*/

.rbutton{
  background-color: var(--rbutton-background-color, transparent) !important;
  padding: var(--rbutton-padding, var(--rbutton-padding-top, 0) var(--rbutton-padding-right, 0) var(--rbutton-padding-bottom, 0) var(--rbutton-padding-left, 0)) !important;

  border-width: var(--rbutton-border-width, var(--rbutton-border-top-width, 0) var(--rbutton-border-right-width, 0) var(--rbutton-border-bottom-width, 0) var(--rbutton-border-left-width, 0)) !important;
  border-style: var(--rbutton-border-style, solid) !important;
  border-color: var(--rbutton-border-color, currentcolor) !important;

  font-family: var(--rbutton-font-family, inherit) !important;
  font-size: var(--rbutton-font-size, 1em) !important;
  font-weight: var(--rbutton-font-weight, inherit) !important;
  
  color: var(--rbutton-color, currentcolor) !important;
  text-align: var(--rbutton-text-align, center) !important;
  text-transform: var(--rbutton-text-transform, inherit) !important;
  letter-spacing: var(--rbutton-letter-spacing, inherit) !important;
  word-spacing: var(--rbutton-word-spacing, inherit) !important;

  text-shadow: var(--rbutton-text-shadow, none) !important;
  display: var(--rbutton-display, inline-flex) !important;
}

.rbutton:disabled{
  pointer-events: none; /* 1 */
}

.ui-button:not(:disabled){
  cursor: var(--uibutton-cursor, pointer);
}

/*
=====
FLAT TEXT
=====
*/

/* 
basic
*/ 

.text-flat{
  position: relative;
  z-index: 0;
}

.text-flat:disabled{
  opacity: var(--text-flat-opacity-disabled, 0.5);
}

.text-flat::before, 
.text-flat::after{
  content: "";
  background-color: var(--text-flat-background-color, currentcolor);	
  position: absolute;
  z-index: -1;
}

.text-flat__label{
  padding: var(--text-flat-padding, .25rem);
}

/* 
flat text extension

1. 
The transition property isn't used because there are limits of the 
transition property syntax, particularly multiple values can't be used. 
*/ 

.text-flat{
  --ui-text-flat-planes-default-opacity: var(--text-flat-planes-default-opacity, 0);
  --ui-text-flat-planes-default-transition-property: var(--text-flat-planes-default-transition-property, transform, opacity);
  --ui-text-flat-planes-default-transition-duration: var(--text-flat-planes-default-transition-duration, .2s);  
  --ui-text-flat-planes-default-transition-timing-function: var(--text-flat-planes-default-transition-timing-function,  ease-out);
  --ui-text-flat-planes-default-transition-delay: var(--text-flat-planes-default-transition-delay, 0, .03s);

  --ui-text-flat-default-color-hover: var(--text-flat-default-color-hover, #fff);
  
  overflow: hidden;
  transition-property: var(--text-flat-transition-property, color); /* 1 */
  transition-duration: var(--text-flat-first-plane-transition-duration, .3s); /* 1 */
  transition-timing-function: var(--text-flat-transition-timing-function, ease-out); /* 1 */
  transition-delay: var(--text-flat-transition-delay); /* 1 */
}

.text-flat__label{
  display: block;
}

.text-flat::before{
  width: var(--ui-text-flat-first-plane-width, var(--text-flat-first-plane-width, auto));
  height: var(--ui-text-flat-first-plane-height, var(--text-flat-first-plane-height, auto));

  top: var(--ui-text-flat-first-plane-top, var(--text-flat-first-plane-top, auto));
  right: var(--ui-text-flat-first-plane-right, var(--text-flat-first-plane-right, auto));
  bottom: var(--ui-text-flat-first-plane-bottom, var(--text-flat-first-plane-bottom, auto));
  left: var(--ui-text-flat-first-plane-left, var(--text-flat-first-plane-left, auto));

  opacity: var(--ui-text-flat-first-plane-opacity, var(--text-flat-first-plane-top, var(--ui-text-flat-planes-default-opacity)));	
  transform: var(--ui-text-flat-first-plane-transform, var(--text-flat-first-plane-transform));
  transition-property: var(--ui-text-flat-first-plane-transition-property, var(--text-flat-first-plane-transition-property, var(--ui-text-flat-planes-default-transition-property))); /* 1 */
  transition-duration: var(--ui-text-flat-first-plane-transition-duration, var(--text-flat-first-plane-transition-duration, var(--ui-text-flat-planes-default-transition-duration))); /* 1 */  
  transition-timing-function: var(--ui-text-flat-first-plane-transition-timing-function, var(--text-flat-first-plane-transition-timing-function, var(--ui-text-flat-planes-default-transition-timing-function))); /* 1 */
  transition-delay: var(--ui-text-flat-first-plane-transition-delay, var(--text-flat-first-plane-transition-delay, var(--ui-text-flat-planes-default-transition-delay))); /* 1 */
}

.text-flat::after{
  width: var(--ui-text-flat-second-plane-width, var(--text-flat-second-plane-width, auto));
  height: var(--ui-text-flat-second-plane-height, var(--text-flat-second-plane-height, auto));

  top: var(--ui-text-flat-second-plane-top, var(--text-flat-second-plane-top, auto));
  right: var(--ui-text-flat-second-plane-right, var(--text-flat-second-plane-right, auto));
  bottom: var(--ui-text-flat-second-plane-bottom, var(--text-flat-second-plane-bottom, auto));
  left: var(--ui-text-flat-second-plane-left, var(--text-flat-second-plane-left, auto));

  opacity: var(--ui-text-flat-second-plane-opacity, var(--text-flat-second-plane-top, var(--ui-text-flat-planes-default-opacity)));	
  transform: var(--ui-text-flat-second-plane-transform, var(--text-flat-second-plane-transform));
  transition-property: var(--ui-text-flat-second-plane-transition-property, var(--text-flat-second-plane-transition-property, var(--ui-text-flat-planes-default-transition-property))); /* 1 */
  transition-duration: var(--ui-text-flat-second-plane-transition-duration, var(--text-flat-second-plane-transition-duration, var(--ui-text-flat-planes-default-transition-duration))); /* 1 */  
  transition-timing-function: var(--ui-text-flat-second-plane-transition-timing-function, var(--text-flat-second-plane-transition-timing-function, var(--ui-text-flat-planes-default-transition-timing-function))); /* 1 */
  transition-delay: var(--ui-text-flat-second-plane-transition-delay, var(--text-flat-second-plane-transition-delay, var(--ui-text-flat-planes-default-transition-delay))); /* 1 */
}

.rlink.text-flat:hover{
  color: #FFFFFF;
}


.text-flat:is(a, button):hover{
  --ui-text-flat-first-plane-width: var(--text-flat-first-plane-width-hover, var(--text-flat-first-plane-width));
  --ui-text-flat-first-plane-height: var(--text-flat-first-plane-height-hover, var(--text-flat-first-plane-height));

  --ui-text-flat-first-plane-top: var(--text-flat-first-plane-top-hover, var(--text-flat-first-plane-top));
  --ui-text-flat-first-plane-right: var(--text-flat-first-plane-right-hover, var(--text-flat-first-plane-right));
  --ui-text-flat-first-plane-bottom: var(--text-flat-first-plane-bottom-hover, var(--text-flat-first-plane-bottom));
  --ui-text-flat-first-plane-left: var(--text-flat-first-plane-left-hover, var(--text-flat-first-plane-left));
  
  --ui-text-flat-first-plane-opacity: var(--text-flat-first-plane-opacity-hover, var(--text-flat-first-plane-opacity));
  --ui-text-flat-first-plane-transform: var(--text-flat-first-plane-transform-hover, var(--text-flat-first-plane-transform));
  --ui-text-flat-first-plane-transition-property: var(--text-flat-first-plane-transition-property-hover, var(--text-flat-first-plane-transition-property));
  --ui-text-flat-first-plane-transition-duration: var(--text-flat-first-plane-transition-duration-hover, var(--text-flat-first-plane-transition-duration));
  --ui-text-flat-first-plane-transition-timing-function: var(--text-flat-first-plane-transition-timing-function-hover, var(--text-flat-first-plane-transition-timing-function));
  --ui-text-flat-first-plane-transition-delay: var(--text-flat-first-plane-transition-delay-hover, var(--text-flat-first-plane-transition-delay));
  
  --ui-text-flat-second-plane-width: var(--text-flat-second-plane-width-hover, var(--text-flat-second-plane-width));
  --ui-text-flat-second-plane-height: var(--text-flat-second-plane-height-hover, var(--text-flat-second-plane-height));

  --ui-text-flat-second-plane-top: var(--text-flat-second-plane-top-hover, var(--text-flat-second-plane-top));
  --ui-text-flat-second-plane-right: var(--text-flat-second-plane-right-hover, var(--text-flat-second-plane-right));
  --ui-text-flat-second-plane-bottom: var(--text-flat-second-plane-bottom-hover, var(--text-flat-second-plane-bottom));
  --ui-text-flat-second-plane-left: var(--text-flat-second-plane-left-hover, var(--text-flat-second-plane-left));
  
  --ui-text-flat-second-plane-opacity: var(--text-flat-second-plane-opacity-hover, var(--text-flat-second-plane-opacity));
  --ui-text-flat-second-plane-transform: var(--text-flat-second-plane-transform-hover, var(--text-flat-second-plane-transform));
  --ui-text-flat-second-plane-transition-property: var(--text-flat-second-plane-transition-property-hover, var(--text-flat-second-plane-transition-property));
  --ui-text-flat-second-plane-transition-duration: var(--text-flat-second-plane-transition-duration-hover, var(--text-flat-second-plane-transition-duration));
  --ui-text-flat-second-plane-transition-timing-function: var(--text-flat-second-plane-transition-timing-function-hover, var(--text-flat-second-plane-transition-timing-function));
  --ui-text-flat-second-plane-transition-delay: var(--text-flat-second-plane-transition-delay-hover, var(--text-flat-second-plane-transition-delay));
}

/*
modifiers
*/

.text-flat_v9{
  --text-flat-first-plane-width: 51%;
  --text-flat-first-plane-height: 100%;
  --text-flat-first-plane-top: 0;
  --text-flat-first-plane-left: 0;  
  --text-flat-first-plane-transform: translate3d(-100%, 0, 0);
  --text-flat-first-plane-transition-duration: .28s;
  --text-flat-first-plane-transition-delay: 0 .28s;
  --text-flat-second-plane-transition-delay: 0 .28s;

  --text-flat-second-plane-width: 51%;
  --text-flat-second-plane-height: 100%;
  --text-flat-second-plane-top: 0;
  --text-flat-second-plane-right: 0;
  --text-flat-second-plane-transform: translate3d(100%, 0, 0);
  --text-flat-second-plane-transition-duration: .28s;

  --text-flat-first-plane-transform-hover: translate3d(0, 0, 0);
  --text-flat-first-plane-opacity-hover: 1;
  --text-flat-second-plane-transform-hover: translate3d(0, 0, 0);
  --text-flat-second-plane-transition-duration-hover: .18s;
  --text-flat-second-plane-opacity-hover: 1;
}

/*
SETTINGS
*/

:root{
  --text-outlined-weight: 5px;
  --text-outlined-line-color: #ffffff;
  --text-outlined-padding: 1rem 1.25rem;
  --text-underlined-line-height: 5px;
  --text-underlined-line-gap: .25rem;
  --text-underlined-line-color: #ffffff;
  --text-flat-background-color: #ffffff;
  --text-flat-padding: .75rem;
}

.section__group ul li a span{
	font-size: 0;
	display: block;
}

.section__group ul li:nth-child(1) a span{
	width: 80px;
	height: 13px;
	background: url("../images/common/menu_company.png") no-repeat center;
}
.section__group ul li:nth-child(2) a span{
	width: 55px;
	height: 13px;
	background: url("../images/common/menu_works.png") no-repeat center;
}
.section__group ul li:nth-child(3) a span{
	width: 42px;
	height: 13px;
	background: url("../images/common/menu_links.png") no-repeat center;
}
.section__group ul li:nth-child(4) a span{
	width: 74px;
	height: 13px;
	background: url("../images/common/menu_contact.png") no-repeat center;
}

.section__group ul li:nth-child(1) a:hover span{
	background: url("../images/common/menu_company_on.png") no-repeat center;
}
.section__group ul li:nth-child(2) a:hover span{
	background: url("../images/common/menu_works_on.png") no-repeat center;
}
.section__group ul li:nth-child(3) a:hover span{
	background: url("../images/common/menu_links_on.png") no-repeat center;
}
.section__group ul li:nth-child(4) a:hover span{
	background: url("../images/common/menu_contact_on.png") no-repeat center;
}


.section__group.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	background-color: #ce171c;
	animation: fixfadeIn 0.5s ease normal;

}

@keyframes fixfadeIn { 

  0% {opacity: 0} /*アニメーション開始時は不透明度0%*/

  100% {opacity: 1} /*アニメーション終了時は不透明度100%*/

}



.fsmenu{
	display: none;
}

.topbox h1{
	font-size: 0;
	display: block;
	max-width: 907px;
	width: 80%;
	/*max-height: 124px;*/
	height: auto;
	background: url(../images/common/logo.png) no-repeat 50% 30%;
	background-size: contain;
	margin: 0 auto;
/*	mix-blend-mode: hard-light;*/
	animation: kurukuru 1.4s ease-out;
}

@keyframes kurukuru {
  0%{
    transform: rotateY(0) translateY(40px);
    opacity: 0;
  }
  100%{
    transform: rotateY(360deg) translateY(0);
    opacity: 1;
  }
}

#wrapper section{
	width: 100%;
	margin: 0 auto 0 auto;
	padding: 30px 0 50px 0;
}

.inner{
	max-width: 960px;
	margin: 0 auto;
}

p#boat_02{
	display: block;
	position: relative;
	opacity: 0;
	max-width: 205px;
	width: 100%;
	height: auto;
	background: url("../images/common/boat_02.png") left center no-repeat;
	background-size: contain;
	padding-top: calc(112 / 1000 * 100%);
	z-index: 100;	
}

/* works-top */
#wrapper section.works-top {
	/*margin-top: calc(-170 / 1000 * 100%);*/
	background-color: #cdd2dc;
	font-size: 1.4rem;
	line-height: 2.4rem;
	padding: 30px 0 100px 0;

}
.works-top .section-title{
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
	display: flex;
    -webkit-flex-flow: row wrap;
	justify-content: flex-start;
	flex-wrap: wrap;
	position: relative;
    left: 20px;
	opacity: 1;
}
.works-top .section-title.act{
	 animation: titlein_l 2s ease 0s 1 normal none;
}
.works-top p#boat_02{
	top: 0px;
    left: -10px;
}
.works-top h2{
	display: block;
	font-size: 0;
	opacity: 1;
	position: relative;
    left: 0;
	max-width: 321px;
	width: 100%;
	height: auto;
	background: url("../images/common/title_works.png") left center no-repeat;
	background-size: contain;
	padding-top: calc(112 / 1000 * 100%);
	z-index: 90;
}

.works-top .section-title.act p#boat_02{
	 animation: boat02 2s ease 0s 1 normal none;
}

.works-top h3{
	font-weight: bold;
	text-align: center;
	font-size: 18px;
	margin: 0 auto 30px auto;
	padding: 15px 0;
	width: 96%;
	max-width: 800px;
	background-color: #FFFFFF;
	color: #ce171c;
	box-sizing: border-box;
}

.works-top ul.works-list{
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
	display: flex;
    -webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
	position: relative;
	max-width: 800px;
	width: 96%;
	margin: 0 auto 0 auto;
}

.works-top ul.works-list li{
	width: 100%;
	background-color: #FFFFFF;
	text-align: center;
	padding: 20px 0;
	margin: 0 0 20px 0;
}
.works-top ul.works-list li.spacer{
	background-color: transparent;
}
.works-top ul.works-list li p.thumb{
	width: 96%;
	margin: 10px auto;
	text-align: center;
}
.works-top ul.works-list li p.thumb img{
	width: 100%;
	margin: 0 auto;
}

.top-works_detaile{
	width: 96%;
	margin: 0 auto;
}

.top-works_detaile h4{
	font-weight: bold;
	font-size: 18px;
	margin: 5px auto;
}



/* company */

.company{
	font-size: 1.4rem;
	line-height: 2.4rem;
	
}
.company .section-title{
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
	display: flex;
    -webkit-flex-flow: row wrap;
	justify-content: flex-start;
	flex-wrap: wrap;
	position: relative;
    left: 20px;
	opacity: 1;
}
.company .section-title.act{
	 animation: titlein_l 2s ease 0s 1 normal none;
}
.company p#boat_02{
	top: 0px;
    left: -10px;
}

.company .section-title.act p#boat_02{
	 animation: boat02 2s ease 0s 1 normal none;
}
.company h2{
	display: block;
	font-size: 0;
	opacity: 1;
	position: relative;
    left: 0;
	max-width: 463px;
	width: 100%;
	height: auto;
	background: url("../images/common/title_company.png") left center no-repeat;
	background-size: contain;
	padding-top: calc(112 / 1000 * 100%);
	z-index: 90;
}

#company-main{
	padding-bottom: 50px;
	margin: 0 auto 0 auto;
	color: #646464;
}

#company-main #concept{
	font-size: 2.6rem;
	line-height: 4.8rem;
	text-align: center;
	color: #ce171c;
	margin: 60px auto 0;
	width: 95%;
	font-weight: bold;
}

dl#company-list{
	display: flex;
	flex-wrap: wrap;
	padding: 60px 20px 0 20px;
	font-size: 2rem;
	line-height: 3.5rem;
}

dl#company-list dt{
	width: 30%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	text-align: left;
	margin-right: 5%;
	color: #ce171c;
	font-weight: bold;
}

dl#company-list dd{
	width: 65%;
	padding-bottom: 30px;
}



/* works */
#wrapper section.works {
	/*margin-top: calc(-170 / 1000 * 100%);*/
	background-color: #cdd2dc;
	font-size: 1.4rem;
	line-height: 2.4rem;
	padding: 30px 0 100px 0;

}
.works .section-title{
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
	display: flex;
    -webkit-flex-flow: row wrap;
	justify-content: flex-start;
	flex-wrap: wrap;
	position: relative;
    left: 20px;
	opacity: 1;
}
.works .section-title.act{
	 animation: titlein_l 2s ease 0s 1 normal none;
}
.works p#boat_02{
	top: 0px;
    left: -10px;
}
.works h2{
	display: block;
	font-size: 0;
	opacity: 1;
	position: relative;
    left: 0;
	max-width: 321px;
	width: 100%;
	height: auto;
	background: url("../images/common/title_works.png") left center no-repeat;
	background-size: contain;
	padding-top: calc(112 / 1000 * 100%);
	z-index: 90;
}

.works .section-title.act p#boat_02{
	 animation: boat02 2s ease 0s 1 normal none;
}

@keyframes titlein_l {
  0% {
	opacity: 0;
    left: -800px;
  }

  80% {
	opacity: 1;
    left: 20px;
  }
	
  100% {
	opacity: 1;
    left: 20px;

  }
}
@keyframes boat02 {
  0% {
	opacity: 1;
    left: -10px;
}
	
  80% {
	opacity: 1;
    left: -10px;
  }

  100% {
	opacity: 0;
    left: 70px;
  }
}


.works #works-main{
	min-height: 500px;
	margin-top: calc(50 / 1000 * 100%);
}
	
.works ul.works-list{
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
	display: flex;
    -webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
	position: relative;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto 0 auto;
}

.works ul.works-list li{
	width: 30%;
	background-color: #FFFFFF;
	text-align: center;
	padding: 20px 0;
	margin: 0 0 20px 0;
}
.works ul.works-list li.spacer{
	background-color: transparent;
}
.works ul.works-list li p.thumb{
	width: 96%;
	margin: 10px auto;
	text-align: center;
}
.works ul.works-list li p.thumb img{
	width: 100%;
	margin: 0 auto;
}

.works ul.works-list li p.works-cat{
	color: #dc0400;
}

.works ul.works-list li.only-text{
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
}

.works ul.works-list li a{
	color: #dc0400;
	text-decoration: underline;
}
.works ul.works-list li a:hover{
	text-decoration: none;
}

.works ul.works-textlist{
	width: 90%;
	margin: 50px auto;
}

.works ul.works-textlist li:before{
	content:"・";
}
.works ul.works-textlist li a{
	color: #ce171c;
	text-decoration: underline;
}
.works ul.works-textlist li a:hover{
	text-decoration: none;
}


.works div#career{
	width: 90%;
	margin: 30px auto;
}

.works div#career #career-list{
	width: 100%;
	margin: 0 auto 50px auto;
/*	margin-top: calc(20 / 1000 * 100%);*/
}
.works div#career #career-list dl{
	width: 100%;
	margin: 0 auto;
}
.works div#career #career-list dt{
	color: #ce171c;
	font-weight: bold;
	margin: 30px auto 20px;
	width: 100%;
	justify-content: flex-start;
}
.works div#career #career-list dt:before{
	content: "■";
}
.works div#career #career-list dt:first-child{
	margin: 0 auto 10px;
}
.works div#career #career-list dd{
	width: 100%;
	margin: 0 15px 10px 15px;
	padding-bottom: 0;
}
.works div#career #career-list dt.photo{
	width: 100%;
	margin: 20px auto;
}
.works div#career #career-list dt.photo:before{
	content: "";
}
	
.works div#career-open{
	width: 96%;
	max-width: 960px;
	margin: 0 auto 50px auto;
	background-color: #ffffff;
    border: 3px solid #ce171c;
    box-shadow: 6px 6px 0px 0px rgba(206, 23, 28, 1);
    padding: 0 20px;
	box-sizing: border-box;
}

.works div#career-open h3{
	width: 100%;
	max-width: 960px;
	font-size: 18px;
	font-weight: bold;
	color: #ce171c;
	padding: 30px 0;
	margin: 0 auto 0 auto;
}

.works div#career-open #career-list{
	width: 100%;
	max-width: 960px;
	margin: 0 auto 80px auto;
/*	margin-top: calc(20 / 1000 * 100%);*/
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
}
.works div#career-open #career-list dl{
	width: 48%;
	margin: 0 0;
	box-sizing: border-box;
}
.works div#career-open #career-list dt{
	color: #ce171c;
	font-weight: bold;
	margin: 30px auto 20px;
	width: 100%;
	justify-content: flex-start;
	box-sizing: border-box;
}
.works div#career-open #career-list dt:before{
	content: "■";
}
.works div#career-open #career-list dt:first-child{
	margin: 0 auto 10px;
}
.works div#career-open #career-list dd{
	width: 100%;
	margin: 0 0 10px 0;
	padding-bottom: 0;
	box-sizing: border-box;
}


	
details{
	margin: 0 0 0 0;
}
summary{
	width: 100%;
	cursor: pointer;
	padding: 15px 0;
	margin: 0 0 0 auto;
	font-weight: bold;
	outline: none;
	box-sizing: border-box;
}
summary:hover{
	opacity: 0.6;
}

/* links */
#wrapper section.links {
	/*margin-top: calc(-130 / 1000 * 100%);*/
	font-size: 1.4rem;
	line-height: 2.4rem;
}
.links .section-title{
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
	display: flex;
    -webkit-flex-flow: row wrap;
	justify-content: flex-start;
	flex-wrap: wrap;
	position: relative;
    left: 20px;
	opacity: 1;
}
.links .section-title.act{
	 animation: titlein_l 2s ease 0s 1 normal none;
}

.links p#boat_02{
	top: 0px;
    left: -10px;

}
.links h2{
	display: block;
	font-size: 0;
	opacity: 1;
	position: relative;
	left: 0;
	max-width: 237px;
	width: 100%;
	height: auto;
	background: url("../images/common/title_links.png") left center no-repeat;
	background-size: contain;
	padding-top: calc(112 / 1000 * 100%);
	z-index: 90;
}

.links .section-title.act p#boat_02{
	 animation: boat02 2s ease 0s 1 normal none;
}

.links #friendship h3{
	font-size: 0;
	display: block;
	max-width: 291px;
	width: 100%;
	height: auto;
	background: url("../images/links/midashi_friendship.png") left no-repeat;
	background-size: contain;
	padding-top: calc(28 / 1000 * 100%);
	position: relative;
	left: 20px;
}

.links #partner h3{
	font-size: 0;
	display: block;
	max-width: 291px;
	width: 100%;
	height: auto;
	background: url("../images/links/midashi_partner.png") left no-repeat;
	background-size: contain;
	padding-top: calc(27 / 1000 * 100%);
	position: relative;
	left: 20px;
}

.links #links-main{
	min-height: 500px;
	margin-top: calc(50 / 1000 * 100%);	
}

.links #links-main ul{
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
	display: flex;
    -webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
	position: relative;
	max-width: 1000px;
	width: 100%;
	margin: 30px auto 50px auto;
}


.links #links-main li{
	width: 30%;
	background-color: #e6e6f0;
	text-align: center;
	padding: 20px 0;
	margin: 0 0 20px 0;
}
.links #links-main li.spacer{
	background-color: transparent;
}

.links #links-main #friendship h4{
	font-weight: bold;
}

.links #links-main #friendship li{
	padding: 20px 0 0 0;
}
.links #links-main #friendship li p.thumb{
	width: 96%;
	margin: 10px auto 0 auto;
	text-align: center;
}
.links #links-main #friendship li p.thumb img{
	width: 100%;
	margin: 0 auto;
}

.links #links-main #partner h4{
	font-weight: bold;
	font-size: 2rem;
}
.links #links-main #partner h4 span{
	font-size: 1.2rem;
}
.links #links-main #partner li p.photo{
	width: 96%;
	margin: 10px auto;
	text-align: center;
}
.links #links-main #partner li p.photo img{
	width: 100%;
}

.links #links-main #partner li p a{
	color: #333333;
	text-decoration: underline;
}
.links #links-main #partner li p a:hover{
	text-decoration: none;
}
	
/* contact */
/*.contact:before{
	content: "";
	background: url(../images/common/bg_loop_top.png) repeat-x bottom left;
	background-color: #ffffff;
	display: block;
	height: 20px;
	padding-top: calc(120 / 1000 * 100%);
}
.contact:after{
	content: "";
	background: url(../images/common/bg_loop_bottom.png) repeat-x top left;
	display: block;
	height: 20px;
}*/
.contact{
}

.contact .section-title{
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
	display: flex;
    -webkit-flex-flow: row wrap;
	justify-content: flex-start;
	flex-wrap: wrap;
	position: relative;
    left: 20px;
	opacity: 1;
}
.contact .section-title.act{
	 animation: titlein_l 2s ease 0s 1 normal none;
}
.contact p#boat_02{
	top: 0px;
    left: -10px;
}

.contact .section-title.act p#boat_02{
	 animation: boat02 2s ease 0s 1 normal none;
}
.contact h2{
	display: block;
	font-size: 0;
	opacity: 1;
	position: relative;
    left: 0;
	max-width: 433px;
	width: 100%;
	height: auto;
	background: url("../images/common/title_contact.png") left center no-repeat;
	background-size: contain;
	padding-top: calc(112 / 1000 * 100%);
	z-index: 90;
}


.contact .section-title.act h2{
	 animation: titlein 2s ease 0s 1 normal none;
	opacity: 1;
}
.contact .section-title.act p#boat_01{
	 animation: boat01 2s ease 0s 1 normal none;
}

#wrapper #contact{
	margin: 0 auto 0 auto;
	background-color: #cdd2dc;
}

#contact .inner{
	margin: 20px auto 30px auto;
	padding-bottom: 50px;	
}

#formWrap{
	width: 90%;
	background-color: #ffffff;
	border: 3px solid #ce171c;
	box-shadow: 6px 6px 0px 0px rgba(206, 23, 28, 1);
	margin: 50px auto;
	padding: 20px 0;
}

#formWrap h3{
	text-align: center;
	font-weight: bold;
	font-size: 1.6rem;
	width: 90%;
	margin: 20px auto 40px auto;
}
.formTable{
	width: 100%;
}

.formTable *{
	font-size: 1.6rem;
}

.formTable th{
	display: block;
	width: 90%;
	text-align: left;
	margin: 0 auto 5px auto;
	font-weight: bold;
}

.formTable td{
	display: block;
	width: 90%;
	margin: 0 auto 20px auto;
	text-align: center;
}

.formTable input{
	box-sizing: border-box;
	width: 100%;
	min-height: 30px;
}

.formTable input[type="text"],
.formTable textarea {
	border: none;
	border-bottom: 1px solid #ce171c;
}
.formTable input[type="text"]:focus,
.formTable textarea:focus {
	border: none;
	border-bottom: 1px solid #ce171c;
	outline: 0;
	background-color: #f0f0f0;
}

.formTable textarea{
	box-sizing: border-box;
	width: 100%;
	min-height: 100px;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

 #formWrap #confirm-inner{
	width: 95%;
	font-size: 1.6rem;
	 margin: 0 auto;
}

/* pagetop */
.pagetop{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #ce171c;
  opacity: 1;
}
.pagetop a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
.pagetop a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


.pagetop-sp{
	display: none;
}

/* footer */


footer{
	width: 100%;
	color: #ffffff;
	padding: 20px 0;
	background-color: #ce171c;
}



footer #footer_inner{
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
	text-align: center;
}

footer h1{
	font-size: 0;
	display: block;
	width: 100%;
	max-width: 251px;
	height: auto;
	background: url("../images/common/logo_small.png") no-repeat center;
	background-size: contain;
	margin: 0 0 0 0;
	padding-top: calc(62 / 1000 * 100%);
}

footer h1 strong{
}

footer #footer_address{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
	display: flex;
    -webkit-flex-flow: row wrap;
    justify-content: space-between;
	flex-wrap: wrap;
}

footer #footer_address p{
	font-size: 1.4rem;
	text-align: right;
	margin: 0 20px 0 0;
}

footer p#footer_copy{
	font-size: 1.2rem;
	padding: 20px 0 0 0;
}

footer #footer_info{
}


/* thanks */
.cnts header h1{
	display: none;
}
.cnts #wrapper{
	padding: 0 0 0 0;
	min-height: 100vh;
    position: relative;
    padding-bottom: 200px;
    box-sizing: border-box;
}

.cnts footer{
	position: absolute;
    bottom: 0; 
}

.cnts #contact{
}

.cnts #contact{
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
	font-size: 1.8rem;
	line-height: 3rem;
	text-align: center;
}
.cnts #contact .inner{
	padding-bottom: 0px;
}
.cnts #contact h2{
	display: block;
	font-size: 0;
	position: relative; 
	max-width: 433px;
	width: 100%;
	height: auto;
	background: url("../images/common/title_contact.png") center no-repeat;
	background-size: contain;
	padding-top: calc(81 / 1000 * 80%);
	margin: 30px auto 50px;
}

#thanks p.comp{
	color: #ce171c;
	font-size: 2rem;
	font-weight: bold;
	margin: 0 0 30px 0;
}

#thanks .back-btn{
	width: 80%;
	max-width: 500px;
	margin: 50px auto 50px auto;
	font-size: 2rem;
	font-weight: bold;
	color: #FFFFFF;
}
#thanks .back-btn a{
	display: block;
	font-size: 2rem;
	font-weight: bold;
	color: #FFFFFF;
	padding: 10px 20px;
	background-color: #ce171c;
}

#thanks .back-btn a:hover{
	opacity: 0.5;
	
}

.both{
	clear: both;
}