@charset "utf-8";

/* basic layout */

/*全体の設定
---------------------------------------------------------------------------*/
body{
	background-color: #fff;
	margin: 0px 0px 0px 0px;
	padding: 0px;
	font-family: 'ヒラギノ角ゴ','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-weight: 400;
	color: #1C293F;
}
@media screen and (max-width: 599px){
	body {
		/*background-image: url(../img/cmn/bg-cnts-sp.png);*/
		background-size: 100% auto;
		background-repeat: repeat-y;
		font-size: 3.8vw;
	}
}
@supports (-ms-accelerator: true) {
	body {
		letter-spacing: -.03em;
	}
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure{
	margin: 0px;
	padding: 0px;
}
ul{
	list-style-type: none;
}
img{
	max-width: 100%;
	min-width: 100%;
	border: none;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
img.cstm-img-size01 {
	max-width:70%;
	min-width:70%;
}
@media screen and (max-width: 599px){
	img{
		max-width: 100%;
		min-width: 100%;
		height: auto;
		/*width /***//*:auto;*/
	}
	img.cstm-img-size01 {
		max-width:70%;
		min-width:70%;
	}
}
@media screen and (max-width: 599px){
	input[type="submit"] {
		-webkit-appearance: none;
		border-radius: 0;
	}
}
input,textarea,select{
	font-size: .16em;
}
form{
	margin: 0px;
}
table{
	border-collapse:collapse;
	font-size: .16rem;
	border-spacing: 0;
}
@media screen and (max-width: 599px){
	html {
		font-size: 550%;
	}
}

h1, h2, h3, h4, h5, h6,
th {
	font-weight: 400;
}

/* chromeで表示される謎の青枠を消す */
*:focus {
	outline: none;
}


/*リンク（全般）設定
---------------------------------------------------------------------------*/
a{
	transition-property: all;
	transition: 0.3s linear;
	color: inherit;
}
a:hover{
	cursor: pointer;
	opacity: 0.5;/* IE8 over, Opera, Safari, CSS3 over */
	transition-property: all;
	transition: 0.3s linear;
	text-decoration: none;
	color: inherit;
}
.trns {
	transition-property: all;
	transition: 0.3s linear;
}

/* 共通設定
---------------------------------------------------------------------------*/
.wrapper {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}
@media screen and (max-width: 599px){
	.wrapper {
	}
}

/* clearfix */
.cf{
	zoom: 1
}
.cf:before, .cf:after{
	display: table;
	content: "";
}
.cf:after{
	clear: both;
}
.clear{
	clear: both;
}

/* flexbox */
.flex{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.f-center{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.f-end {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.f-start {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.f-middle{
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.f-bottom{
	-webkit-align-items: flex-end;
	align-items: flex-end;
}
.f-between{
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.f-wrap{
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.f-column{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.f-reverse{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
@media screen and (max-width: 599px){
	.sp-flex {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.sp-f-row {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
	}
	.sp-f-between {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.sp-f-column{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.sp-f-column > *,
	.sp-f-column-reverse > * {
		width: 100%!important;
	}
	.sp-f-column-reverse {
		-webkit-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	.sp-f-wrap{
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.sp-f-center {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.sp-f-middle {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.sp-f-start {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
}

/* 文字配置 */
.al-cnt {
	text-align: center;
}
.al-lft {
	text-align: left;
}
.al-rit {
	text-align: right;
}

/* レスポンシブ ブロック要素 */
.spver {
	display: none;
}
@media screen and (max-width: 599px){
	.pcver {
		display: none;
	}
	.spver {
		display: block;
	}
}
/* ipadver */
@media screen and (max-width: 834px){
	#business div.img {
		background-position: 70% 60%;
	}
}
@media screen and (max-width: 744px){
	#business div.img {
		background-position: 72% 60%;
	}
}

@media screen and (max-width: 540px){
	#business div.img {
		background-position: 37% 60%;
	}
}

/* レスポンシブ インライン要素 */
.inline_spver {
	display: none;
}
@media screen and (max-width: 599px){
	.inline_pcver {
		display: none;
	}
	.inline_spver {
		display: inline-block;
	}
}


/* header
---------------------------------------------------------------------------*/
header {
	position: relative;
	width: 100%;
	background-color: #f4f4f2;
}

.sitettl {
	padding: 32px 25px;
	font-size: .24rem;
	line-height: 1.1;
	font-family: 'Playfair Display SC', serif;
}
.articlesubttl {
	margin-bottom: 0;
	font-size : .16rem;
	font-weight: 700;
	text-decoration:underline;
	line-height: 1.4;
}
.box-articlehd {
	position: relative;
	width: 75%;
	padding: 35px 25px 35px;
}
.box-articlehd h1 {
	font-size: .3rem;
	line-height: 1.4;
	font-weight: 700;
}
.date-artclehd {
	padding: 12px 28px 0 0;
	font-size: .16rem;
	line-height: 1.8;
	color: #1C293F;
}
.comlink-articlehd {
	padding: 0 40px 0 0;
	text-align: right;
	color: #8f8f8f;
	font-size: .12rem;
	line-height: 16px;
}
.comlink-articlehd span {
	display: inline-block;
	padding: 1.5px 5px;
	border: 1px solid #8f8f8f;
	color: #8f8f8f;
	border-radius: 5px;
}
.articlehd {
	margin-bottom: 28px;
	padding: 18px 40px 13px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #ccc;
}
.articlettl {
	font-size: 25px;
	font-weight: 700;
	color: #333333;
	line-height: 1.4;

}
@media screen and (max-width: 1220px){
	.sitettl {
		font-size: 20px;
	}
}
@media screen and (max-width: 599px){
	header {
		margin-bottom: 0vw;
		background-color: #e7e7e7;
	}
	.sitettl {
		padding: 3.0vw 5vw;
		font-size: 18px;
		letter-spacing: .08em;
		font-weight: 700;
	}
	.box-articlehd {
		padding: 8vw 5vw 3vw;
	}
	.box-articlehd h1 {
		font-size: 3.8vw;
		line-height: 1.4;
	}
	.date-artclehd {
		position: absolute;
		margin-bottom: 0;
		padding-left: 0;
		font-size: 13px;
		font-weight: 700;
		text-align: left;
		bottom: 1vw;
		line-height: 24px;
	}
	.comlink-articlehd {
		position: absolute;
		margin-bottom: 0;
		padding-top: 2vw;
		padding-right: 2vw;
		font-size: 13px;
		right: 0;
		bottom: 1vw;
		line-height: 24px;
	}
	.comlink-articlehd span {
		font-size: 12px;
		line-height: 1;
		padding: 3px 3.3px;
	}
	.comlink-articlehd a{
		text-decoration: none;
		color: inherit;
	}
	.articlesubttl {
		font-size: 12px;
		font-weight: 700;
		line-height: 1.4;
		margin-bottom: 1vw;
	}
	.articlehd {
		position: relative;
		margin-bottom: 4vw;
		padding: 0vw 4.5vw 3vw;
		border-top: 0px solid #000;
	}
	.articlettl {
		font-size: 19px;
		font-weight: 700;
		margin-bottom: 6vw;
	}
}

/* article
---------------------------------------------------------------------------*/
article {
	max-width: 599px;
	width: 100%;
	margin: 28px auto;
	font-size: 16px;
	line-height: 1.6;
}
.articlebd {
	padding: 0 35px;
}
article figure {
	margin-bottom: 1em;
	text-align: center;
}
article figure.right {
	float: right;
	width: 45%;
	margin: 0 0 1em 20px;
}
article figure.left {
	float: left;
	width: 45%;
	margin: 0 20px 1em 0;
}
article p {
	margin-bottom: 2em;
}
article h2 {
	position: relative;
	margin: 2em calc(-700px * .05) 1.5em;
	padding: .5em;
	font-size: 18px;
	line-height: 1.4;
	color: #4da2f4;
	font-weight: 700;
}
article h2::after {
	position: absolute;
	content: "";
	left: 0;
	bottom: -5px;
	height: 10px;
	width: 100%;
	background: repeating-linear-gradient(-45deg, #ccc, #ccc 3px, #fff 3px, #fff 6px);
}
article h2.q-num{
	position: relative;
	margin: 2em 0 0;
	padding: .5em;
	font-size: 150%;
	line-height: 1.4;
	color: black;
	text-align: center;
	font-weight: 700;
}
article h2.q-num::after {
	display:none;
}
article .q-ttl{
	font-size: 150%;
}
@media screen and (max-width: 599px){
	article h2.q-num{
		font-size: 100%;
	}
	article .q-ttl{
		font-size: 100%;
	}
}
article video {
	width:100%;
	margin-bottom: 1em;
}
article .underline {
	background: linear-gradient(transparent 60%, #ffff66 60%);
}
article .red {
	color: #9e0101;
}
article .blue {
	color: #115b98;
}
article .bold {
	font-weight: 700;
}
article .small {
	font-size: 75%;
}
article .big {
	font-size: 150%;
}
@font-face {
  font-family: Meiryo;
  src: local('Meiryo'), local('メイリオ');
}
.italic{
	font-family: Meiryo, "メイリオ", sans-serif;
	font-style: italic;
}
article a {
	color: #0c419a;
	text-decoration: underline;
}
article .col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
article .col > * {
	width: 50%;
}
article .col > * + * {
	padding-left: 20px;
}

@media screen and (max-width: 599px){
	article {
		margin: 3vw 0;
		padding: 0 0;
		font-size: 16px;
		line-height: 1.6;
	}
	article h2 {
		margin: 2em -5vw 1.5em;
		padding: 0 5vw 3vw;
		font-size:  18px;
		line-height: 1.6;
	}
	article .col {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	article .col > * {
		width: 100%;
	}
	article .col > * + * {
		padding-left: 0;
	}
	article figure.right {
		float: right;
		width: 45%;
		margin: 0 0 1em 3vw;
	}
	article figure.left {
		float: left;
		width: 45%;
		margin: 0 3vw 1em 0;
	}
	article figure.right.sprow,
	article figure.left.sprow {
		float: none;
		width: 100%;
		margin: 0 0 1em 0;
	}
	.articlebd {
		padding: 0 4.5vw;
	}
}
.mb0{
   margin-bottom: 0em;
}
.mb1{
   margin-bottom: 2em;
}
.mb2{
   margin-bottom: 4em;
}
.mb3{
   margin-bottom: 6em;
}
.mb4{
   margin-bottom: 8em;
}
.mb5{
   margin-bottom: 10em;
}



/* SNSボタン */
ul.sns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 20px;
}
ul.sns li + li {
	margin-left: 5px;
}
#twitter-widget-0 {
	vertical-align: bottom;
}
@media screen and (max-width: 599px){
	ul.sns {
		margin-top: 5vw;
	}
	ul.sns li + li {
		margin-left: 2vw;
	}
}

/* バナーを並べる */
.banners{
	display: flex;
	flex-wrap:wrap;
	margin-bottom: 1em;
}
.banners li {
	width: calc(99%/2);
	box-sizing:border-box
}
.banners li img {
	height: auto;
	max-width: 100%;
	min-width: 100%;
}
.banners li + li {
	margin-left: 1%;
}
@media screen and (max-width: 599px){
	.banners li {
		width: 100%;
	}
	.banners li + li {
		margin-top: 1%;
		margin-left: 0;
	}
}

/* ライター紹介 */

.writer {
	border: 2px solid #ccc;
	display: block;
	min-height: 72px;
	padding: 16px 15px 16px;
}

.writer-thumbnail {
	float: left;
	width:60px;
	margin: auto 15px auto 0px;
}
.writer-img {
	border-radius: 100%;
	border: 2px solid #ccc;
}
.writer-txt {
	margin-bottom: 0.5em;
	overflow: hidden;
}
@media screen and (max-width: 599px){
	.writer-img {
		width:50px;
	}
	.writer-txt {
		font-size: 12px;
	}
}
/* Youtube */

.frame-wrapper_player {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	margin-bottom: 1em;
}

.frame-wrapper_player iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border-width: 0px;
}

/* マウスオーバーで画像揺らす */

.shake-img-4:hover {
	display: inline-block;
	animation: animation-shake-img-4 .1s infinite;
}

@keyframes animation-shake-img-4 {
	0% {transform:rotateZ(0deg)}
	25% {transform:rotateZ(1deg)}
	50% {transform:rotateZ(0deg)}
	75% {transform:rotateZ(-1deg)}
	100% {transform:rotateZ(0deg)}
}

/* 定期的に画像を揺らす */

.shake-img-20 {
	display: inline-block;
	animation:animation-shake-img-20 1s infinite;
}
@keyframes animation-shake-img-20 {
	0% {transform: rotateZ(1deg)}
	3% {transform: rotateZ(0deg)}
	6% {transform: rotateZ(-1deg)}
	9% {transform: rotateZ(0deg)}
	12% {transform: rotateZ(1deg)}
	15% {transform: rotateZ(0deg)}
	18% {transform: rotateZ(-1deg)}
	21% {transform: rotateZ(0deg)}
	24% {transform: rotateZ(1deg)}
	27% {transform: rotateZ(0deg)}
	30% {transform: rotateZ(-1deg)}
	100% {transform: rotateZ(0deg)}
}

/* 定期的に画像を横に揺らす */

.shake-img-20-side {
	display: inline-block;
	animation: animation-shake-img-20-side 1s infinite;
}

@keyframes animation-shake-img-20-side {
	0% {transform: translate(0px, 0px)}
	3% {transform: translate(5px, 0px)}
	6% {transform: translate(-5px, 0px)}
	9% {transform: translate(5px, 0px)}
	12% {transform: translate(-5px, 0px)}
	15% {transform: translate(5px, 0px)}
	18% {transform: translate(-5px, 0px)}
	21% {transform: translate(5px, 0px)}
	24% {transform: translate(-5px, 0px)}
	100% {transform: translate(0px, 0px)}
}
.bn-relative {
	position: relative;
}
.bn-absolute {
	position: absolute;
	left: 3%;
	min-width: 1%;
	width: 94%;
	bottom: 2%;
}

/* 共通 */

section {
    position: relative;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    color: #1c1c1c;
}



section#business,
section#fact-visual,
section#beginning-visual,
section#about
{
    position: relative;
    background-color: white;
    padding: 5% 5%;
}


section#business-text,
section#fact-text,
section#beginning-text{
	display: flex;
}


p + p {
    margin-top:40px;
}

footer{
     text-align: center;
}





/* 左 */



#about h1
{
    /* background-color: black; */
    padding: 10px 5px;
    font-weight: 1000;
    color: black;
}

#about h2
{
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    position: absolute;
    left:100px;
    height: 500px;
    padding: 5px;
    padding-top: 6em;
    text-indent: -6em;
    font-weight: 1000;
    font-size: 180%;
}

#about  .title
{
    width: 30%;
    /* height: 100%; */
    position: relative;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 45px;
}

#about .image
{
    width:100%;
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;

}


#about.image figure
{

}


#about.image p
{
    position: absolute;
    top: 80%;
    background-color: white;
    padding: 5px;
    width: 70%;
    text-align: center;
    font-weight: 1000;
}




/* main-visual */
#main-visual{
	background-image: url(../img/010.jpg);
	background-size: cover;
	background-position: 15% 60%;
	height: 100vh;
}


#main-visual h1{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    background-color: black;
    color: white;
        /*height: 65%;*/
    min-height: 450px;
    text-indent: -3em;
    padding: 10px;
    padding-top: 5em;
    padding-bottom: 3.8em;
    min-height: 50%;
}

#main-visual div.main-title{
    position: absolute;
    /* left: 311px; */
    top: 47%;
    margin-left: 42%;
    margin-right: 42%;
    width: 16%;
}



/*#main-visual figure{
    position: absolute;
    left: 90px;
    top:  30%;
    width: 230px;
}*/
#main-visual figure img{
}



@media screen and (max-width: 599px){
	#main-visual{
		background-image: url(../img/010sp.jpg);
		background-position: center 60%;
	}
	#main-visual div.main-title{
		position: absolute;
		margin-left: 0%;
		margin-right: 0%;
		width: 100%;
	}
}


/* business */

section.section_visual{
height: 100vh;
}

.section_visual {
	background-color: white;
}

.section_visual div.img {
	background-image: url(../img/050.jpg);
	background-size: cover;
	background-position: 83% 60%;
	height: 100%;
	position: relative;
	
}



.section_visual div.title
{
	position: absolute;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    right: 0;
    height: 100%;
}
.section_visual .padding-div{
    padding: 10% 5%;
}
.section_visual div.title h1
{
    writing-mode: vertical-rl;
    right: 0px;
    background-color: black;
    padding: 40px 5px;
    color: white;
    font-weight: 1000;
    font-size: 4vh;
    display: inline;

}
.section_visual div.title h2
{
    background-color: #ffffff;
    margin-right: 3%;
    padding: 1em;
    padding-top: 7.5em;
    text-indent: -6em;
    font-weight: 1000;
    font-size: 3.5vh;

}



.wrap
{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
}

.section_text h1
{
    font-weight: 1000;
    font-size: 3vw;

}


.section_text p {
    font-size: 1.5vw;
    text-align: left;
    line-height: 1.9
}
.section_text h1 + p {
    margin-right: 80px;
}
.section_text p + p {
    margin-top: 0px;
    margin-right: 40px;
}



/* business-text */

section.section_text{
padding: 5% 5%;
}


#business div.img {
	background-image: url(../img/050.jpg);
}

/* fact-visual */

#fact-visual div.img {
	background-image: url(../img/030.jpg);
}

@media screen and (max-width: 1000px){
    #fact-visual div.title {
	    left: 0;right: unset;
    }
    #fact-visual div.img {
	    background-position: 38% 60%;
}
}

#fact-visual h2 span{
-webkit-text-orientation: upright;
-moz-text-orientation: upright;
-ms-text-orientation: upright;
text-orientation: upright;
-ms-text-combine-horizontal: all;
}


#fact-text h1
{
    padding-top: 9vw;
    text-indent: -13vw;
}

#fact-text  span{
text-orientation: upright;
}

#beginning-visual div.img {
	background-image: url(../img/040.jpg);
	background-position: 38% 81%;
}



/* about */


#about h1.co_name
{
    writing-mode: vertical-lr;
    position: absolute;
    left: 0px;
    background-color: white;
    padding: 0px 5px;
    top: 187px;
    color: black;
}

#about table
{
    border-collapse: collapse;
    font-size: .16rem;
    border-spacing: 0;
    width: 100%;
    border: 1px solid #333;
    border-collapse: collapse;
    border-spacing: 0;
}
#about tr
{
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

#about tr + tr {
border-top: 1px solid #333;
}

#about th
{
    width: 170px;
    border-right: 1px solid #333;
    text-align: center;
    vertical-align: middle;
    padding: 16px 24px;
}

#about td {
    padding: 16px 40px;
}

/* contact */
#contact{
	background-image: url(../img/contact2.jpg);
	background-size: cover;
	background-position: center 60%;
    height: 100%;
}

#contact div{
    text-align: center;
    
}

section#contact
{
    padding: 100px 7%;
}

#contact h1{
    font-weight: bold;
    font-size: 1.6em;
    margin-bottom: 50px;
}

#contact p{
    font-weight: bold;
    font-size: 1.4em;
    margin-bottom: 50px;
}

#contact button{
    background-color: black;
    color: white;
    padding: 10px 30%;
    border: none;
    font-size: 1.4em;
    font-weight: 1000;
    cursor: pointer;
}





.menu-btn {
    position: fixed;
    top: 0px;
    right: 0px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #000000;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

#menu-btn-check{
    display: none;
}







.btn-change span {
    background-color: rgba(255, 255, 255, 0)!important;
	/* メニューオープン時は真ん中の線を透明にする */
}
.btn-change span::before{
    bottom: 0;
    transform: rotate(45deg);
}
.btn-change span::after {
    top: 0;
    transform: rotate(-45deg);
}



.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #000000;
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}




.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}



.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #000000ba;
    transition: all 0.5s;/*アニメーション設定*/
}

.menu-content-open{
    left: 65%;/*メニューを画面内へ*/
}


@media screen and (max-width: 599px) {
    .menu-content-open {
        left: 57%;/*メニューを画面内へ*/
    }
}



/*アニメーション要素のスタイル*/
.animation{
	opacity : 0;
	visibility: hidden;
	transition: 2s;
	transform: translateY(30px);
}
/*アニメーション要素までスクロールした時のスタイル*/
.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}


#target li label {
    margin-bottom: 0;
    margin-left: 0;
}




@media screen and (max-width: 599px){
section#business, section#fact-visual, section#beginning-visual {
    height: 50vh;
}


@media screen and (max-width: 599px){
    .section_visual div.title {
        left: 5vw;
        right: unset;
    }
}

@media screen and (max-width: 1000px){
    #fact-visual .section_visual div.title {
        background-position: 83% 60%;
    }
}


#main-visual div.main_wrap{
    margin-right: auto;
    margin-left: auto;
    width: 42vw;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
#main-visual figure {
    width: 42vw;
    position: relative;
    margin-top: auto;
    margin-bottom: auto;
    top: 0;
    left: 0;
}
#main-visual div.main-title{
}

#main-visual h1{
    padding-left: 1vw;
    padding-right: 1vw;
    padding-top: 4.2em;
    padding-bottom: 2em;
}

section.section_text {
    padding: 13% 5% 0%;
}
section.section_text{
     height:100vh;
}
.section_text p {
    font-size: 4.1vw;
    /*letter-spacing: vw;*/
}
.section_text h1 {
    font-size: 7vw;
    /*letter-spacing: vw;*/
}
.section_text h1 + p {
    margin-right: 3vw;
}
.section_text p + p {
    margin-right: 3vw;
}

#about th {
    width: 100%;
    display: block;
    border-right: 0;
    border-bottom: 1px solid #333;
    padding: 8px 13px;
    font-weight: 1000;
}

#about td {
    display: block;
    padding: 15px 13px;
}
#about .title {
    width: 100%;

}

#contact h1 {
    font-size: 5.5vw;
}

#contact p {
    font-size: 3.6vw;
}


/* #menu-btn-check:checked ~ .menu-content {
    left: 50%;
} */

#contact button {
    font-size: 6vw;
}

#about .title {
   margin-bottom: 20px;
}


.section_visual div.title h2 {
    font-size: 2vh;
    padding-right: 0.2em;
    padding-left: 0.2em;
}
.section_visual div.title h1 {
    font-size: 2.5vh;
    min-height: 30%;
 }
 

#beginning-visual div.img {
    background-position: -31% 60%;
}

#beginning-visual div.img {
	background-position: 38% 73%;
}

}


/*NEWS*/

#news {
    padding: 5% 5%;
}

#news .news_wrap{
    padding: 0% 5%;
}

#news .newsList {
    border-top: 1px solid #d2d2d2;
}

#news .newsList li {
    overflow: hidden;
    padding: 17px 20px;
    line-height: 25px;
    border-bottom: 1px solid #d2d2d2;
}

#news .newsList li .tag {
    font-size: 12px;
    color: #fff;
    width: 76px;
    height: 25px;
    line-height: 25px;
    background: #000000;
    text-align: center;
    letter-spacing: 0.09em;
    margin-right: 28px;
}

#news .newsList li p {
    float: left;
    margin-top: 0px;
}



#news a{
	transition-property: all;
	transition: 0.3s linear;
	color: blue;
	text-decoration:underline;
}
#news a:hover{
	cursor: pointer;
	opacity: 0.5;/* IE8 over, Opera, Safari, CSS3 over */
	transition-property: all;
	transition: 0.3s linear;
	text-decoration: none;
	color: inherit;
	text-decoration:underline;
}

#news .fw-s {
    font-weight: 600;
}

#news .newsList li .date {
    color: #000000;
    margin-right: 28px;
    letter-spacing: 0.09em;
}

#news .newsList li .text {
    float: none;
    padding-left: 211px;
}




@media screen and (max-width: 599px){
    #news .newsList li .text {
        clear: both;
        line-height: 1.83em;
        margin-top: 28px;
        padding-left: 0;
    }
    #main-visual div.main-title {
        width: 100%;
        margin-left: 0%;
        margin-right: 0%;
        text-align: center;
    }
    #news .newsList li {
        padding: 12px 0px;
    }
}





/*#news .i {
    font-style: italic;
}

#news .fw-l {
    font-weight: 300;
}

#news .en {
    font-family: 'Open Sans', sans-serif;
}*/



.sales_wrap{
    height: 150px;
}
#sales figure{
    width: 50%;
    float: left;
    text-align: right;
    padding-right: 1.3%;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%); /* Safari用 */
    transform: translateY(-50%);
}
#sales img{
        width: 200px;
        min-width: 0px;
        padding: 11px 50px;
        background-color: black;
}

#sales p{
    font-size: 23px;
    padding-left: 1.3%;
    width: 50%;
    float: left;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%); /* Safari用 */
    transform: translateY(-50%);
}



#sales2 figure{
    width: 50%;
    float: left;
    text-align: right;
    padding-right: 1.3%;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%); /* Safari用 */
    transform: translateY(-50%);
}
#sales2 img{
        width: 200px;
        min-width: 0px;
        padding: 11px 50px;
        background-color: black;
}

#sales2 p{
    font-size: 23px;
    padding-left: 1.3%;
    width: 50%;
    float: left;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%); /* Safari用 */
    transform: translateY(-50%);
}


@media screen and (max-width: 800px){
    #sales img {
        width: 60%;
        padding: 11px 38px;
    }
    #sales2 img {
        width: 60%;
        padding: 11px 38px;
    }
}
@media screen and (max-width: 599px){
    #sales img {
        width: 70%;
        padding: 11px 28px;
    }
    #sales p {
        font-size: 3.5vw;
    }
    #sales2 img {
        width: 70%;
        padding: 11px 28px;
    }
    #sales2 p {
        font-size: 3.5vw;
    }
}
@media screen and (max-width: 490px){
    #sales img {
        width: 80%;
    }
    #sales p {
        font-size: 4vw;
    }
    #sales2 img {
        width: 80%;
    }
    #sales2 p {
        font-size: 4vw;
    }
}

section#sales {
    padding: 0% 5%;
}
section#sales2 {
    padding: 0% 5%;
}
#sales {
}
#sales a{
	transition-property: all;
	transition: 0.3s linear;
	color: blue;
	text-decoration:underline;
}
#sales a:hover{
	cursor: pointer;
	opacity: 0.5;/* IE8 over, Opera, Safari, CSS3 over */
	transition-property: all;
	transition: 0.3s linear;
	text-decoration: none;
	color: inherit;
	text-decoration:underline;
}
#sales2 a{
	transition-property: all;
	transition: 0.3s linear;
	color: blue;
	text-decoration:underline;
}
#sales2 a:hover{
	cursor: pointer;
	opacity: 0.5;/* IE8 over, Opera, Safari, CSS3 over */
	transition-property: all;
	transition: 0.3s linear;
	text-decoration: none;
	color: inherit;
	text-decoration:underline;
}
section#SNS{
    padding: 5% 5% 0 5%;
}

#SNS h1
{
    /*background-color: black;*/
    padding: 10px 5px;
    font-weight: 1000;
    color: black;
}

#SNS .title {
    width: 30%;
    /* height: 100%; */
    position: relative;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 45px;
}
@media screen and (max-width: 599px){
    #SNS .title {
        width: 100%;
    }
}
#SNS ul {
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 60px;
  padding: 0;
  width: 30%;
  text-align: center;
}

#SNS li {
  width: 50%;
  list-style: none;
  display: inline;
  margin: 0 6%;
}

#SNS img {
  width: 40px;
    min-width: 0%;
}
@media screen and (max-width: 400px){
     #SNS img {
         width: 35px;
     }
}

@media screen and (max-width: 1024px){
  #SNS p{
    width: 50%;
    height: 40px;
    font-size: 25px;
    line-height: 40px;
  }
  
#SNS ul {
  width: 50%;
}
}
@media screen and (max-width: 599px){
  #SNS p{
    width: 70%;
    height: 35px;
    line-height: 35px;
  }
  
#SNS ul {
  width: 70%;
}
}


/*2022/7/26 追加*/
#cta_01 {
    text-align: center;
}

#cta_01 button {
    background-color: black;
    color: white;
    padding: 10px;
    border: none;
    font-size: 2vw;
    font-weight: 1000;
    cursor: pointer;
    margin: 50px 0;
    width: 33vw;
}

@media screen and (max-width: 599px) {
    #cta_01 {
        padding: 0 5%;
    }
    #cta_01 button {
        font-size: 6vw;
    }
    #cta_01 button {
        width: 100%;
    }
}

/* 追従バナー */
#cta_01{
	position: fixed;
	z-index: 10;
	display: flex;
	justify-content: center;
	width: 100%;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	bottom: 10px;
}
#cta_01 button{
	background-color: #000000;
	margin: 0;
}
#SNS{
	margin-bottom: 150px;
}
@media screen and (max-width: 960px) {

}
@media screen and (max-width: 520px) {
#cta_01 button{
	background-color: #000000;
}
}
body{
	position: relative;
}
/* //追従バナー */

/* 遅延読み込み */
.bg-lazy {
	background-image: none!important;
}
/* //遅延読み込み */
