@charset "UTF-8";

/* reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	margin-block-start:0;
	margin-block-end:0;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a{
	text-decoration: none;
	color:inherit;
}
a:visited{
	/* color:inherit; */
}
a:hover{
	opacity: 0.8;
}
img{
	max-width:100%;
}
h2,h3{
	font-weight: bold;
}
/* reset end */


/* common ///////////////*/
  body{
		font-family: 'Noto Serif Japanese', serif;
		font-weight:500;
  }
	body *{
    box-sizing: border-box;
  }
	.wrap{
		position: relative;
	}
	@font-face {
		font-family: 'Noto Serif Japanese';
		font-style: normal;
		font-weight: 100;
		src: url(gmin/NotoSerifJP-ExtraLight.otf) format('opentype');
	}
	@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 200;
	src: url(gmin/NotoSerifJP-Light.otf) format('opentype');
	}
	@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 400;
	src: url(gmin/NotoSerifJP-Regular.otf) format('opentype');
	}
	@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 500;
	src: url(gmin/NotoSerifJP-Medium.otf) format('opentype');
	}
	@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 600;
	src: url(gmin/NotoSerifJP-SemiBold.otf) format('opentype');
	}
	@font-face {
	 font-family: 'Noto Serif Japanese';
	 font-style: normal;
	 font-weight: 700;
	src: url(gmin/NotoSerifJP-Bold.otf) format('opentype');
	}
	@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 900;
	src: url(gmin/NotoSerifJP-Black.otf) format('opentype');
	}



	/* sans*/
	@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 500;
	src: url(gmin/NotoSerifCJKjp-Medium.otf) format('opentype');
	}
	@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 600;
	src: url(gmin/NotoSerifCJKjp-SemiBold.otf) format('opentype');
	}
	@font-face {
	 font-family: 'Noto Serif Japanese';
	 font-style: normal;
	 font-weight: 700;
	src: url(gmin/NotoSerifCJKjp-Bold.otf) format('opentype');
	}






p small{
	font-size: 0.8rem;
}
sup{
	font-size: 11px;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}

  .f_orn{
    color:#FF5523;
  }
  .bg_orn{
    background:#FF5523;
  }
	.bg_whi{
		background: #fff;
	}
	.bg_gray{
		background: #F8F8F8;
	}
	.f_whi{
		color:#fff;
	}
	.f_bold{
		font-weight: bold;
	}
	.ico_cow01{
		position: absolute;
		content: "";
		/* background: url(../images/common/ico_cow.png); */
		z-index:20;
	}
  #content {
    width:100%;
		min-width:1105px;
  }
  .content_inner{
    width:1105px;
    margin: auto;
		position: relative;
  }
	.sec_pad_01{
		padding:60px 0 50px;
	}
	.content_inner.inner_950{
    width:950px;
  }
	.flex{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.pc_none{
		display: none;
	}
	.sp_none{
		display: block;
	}
	@media screen and (max-width:768px){
		#content {
			min-width:auto;
		}
		.content_inner{
			width:100%;
			padding:0px 26px;
		}
		.content_inner.inner_950{
			width:100%;
		}
		.sec_pad_01 {
			padding: 50px 0 40px;
		}
		.pc_none{
			display: block;
		}
		.sp_none{
			display: none;
		}
	}
	/* 画像左右見切れ関連 */
	.img_end{
		overflow: hidden;
		position: relative;
	}
	.img_end_inner{
			height: 550px;
		position: relative;
	}
	/* 画像右寄せ */
	.img_right_end{
		margin-right: calc(40% - 50vw);
		margin-left: 35%;
		height: 100%;
		overflow: hidden;
	}
	.img_right_end img{
		height: 100%;
    object-fit: cover;
	}
	/* テキスト左寄せ */
	.txt_left_end{
		position: absolute;
    top: 50%;
		bottom:50%;
		margin: auto;
		margin-left: calc(30% - 50vw);
    margin-right: 3%;
    padding-right: 11vw;
    padding-left: 25vw;
		padding-top:40px;
		padding-bottom:40px;
		height: 380px;
	}
	/* 画像左寄せ */
	.img_left_end{
		margin-left: calc(30% - 50vw);
		margin-right: 35%;
		height: 100%;
		overflow: hidden;
	}
	.img_left_end img{
		height: 100%;
    object-fit: cover;
	}
	/* テキスト左寄せ */
	.txt_right_end{
		position: absolute;
    top: 50%;
		bottom:50%;
		margin: auto;
		padding-left: 4vw;
		padding-right: 18vw;
		padding-top:40px;
		padding-bottom:40px;
		height: 380px;
		right: 0;
		margin-right:calc(50% - 50vw);
	}
	.txt_right_end .img_end_more{
		right:auto;
		left:310px;
	}
	.txt_end_in{
		width: 365px;
	}
	@media screen and (max-width:768px){
		.img_right_end {
			margin-left: 0%;
		}
		.img_left_end {
			margin-right: 0%;
		}
		.img_end_inner{
			height: 225px;
			position: relative;
			margin-bottom:200px;
		}
		.txt_left_end,.txt_right_end{
			height: 225px;
			bottom:-200px;
			top:auto;
		}
		.txt_left_end {
			margin-left: -10vw;
	    margin-right: 3%;
	    padding-right: 0vw;
	    padding-left: 8vw;
	    padding-top: 25px;
	    padding-bottom: 25px;
	    width: 95vw;
		}
		.txt_right_end {
	    padding-left: 20px;
	    padding-right: 0;
	    margin-right: -8vw;
	    width: 95vw;
		}
		.txt_right_end .img_end_more{
			right: 10vw;
			left: auto;
		}

	}
/* common end */

/** vcolorbo ////*/

#cboxOverlay {
	background-color: #000000;
	    opacity: 0.7!important;
    filter: alpha(opacity = 70);
}
div#colorbox::before {
    content: "";
    position: absolute;
    width: 30px;
    height: 2px;
    background: #fff;
    top: -20px;
    right: 0;
    transform: rotate(-45deg);
    pointer-events: none;
}
div#colorbox::after {
    content: "";
    position: absolute;
    width: 30px;
    height: 2px;
    background: #fff;
    top: -20px;
    right: 0;
    transform: rotate(45deg);
    pointer-events: none;
}

/* #cboxClose{
	background: #fff;
	width: 50px;
	height: 50px;
} */
#cboxContent {
  margin-top: 0px;
	background: inherit;
	overflow: visible;
}
#colorbox{
	overflow: visible;
}


/** colorbox end////>/

/* header //////////*/
	header{
		position: absolute;
		width:100%;
		top:35px;
		z-index:5;
	}

	header nav{
		/*width:1105px;*/
		width: 90%;
		margin: auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		font-size: 14px;
		font-weight: bold;
		background: #fff;
		position: relative;
	}
	.nav_box{
		padding: 22px 20px 22px 20px;
		border-radius: 200px;
	}
	/*.head_logo{
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		left: -50px;
		width: 196px;
		height: 196px;
		background: #fff;
		border-radius: 200px;
		display: none;
	}*/
	.head_logo{
		display: flex;
		justify-content: center;
		align-items: center;
		left: 20px;
	}
	.head_logo img{
		width: 122px;
	}
	.nav_main a{
		padding:10px 13px;
	}
	.nav_sns{
		width: 86px;
		display: flex;
		justify-content: space-between;
	}
	.nav_sns a{
		display: block;
		width: 20px;
		height: 20px;
	}
	.nav_sns a img{
		width: 100%;
	}
	.header_sp{
		display: none;
	}
	@media screen and (min-width:1500px){
		header nav{
			font-size: 16px;
		}
		.nav_main a {
			padding: 10px 25px;
		}
	}
	@media screen and (max-width:1160px){
		header nav {
			width: 98%;
			}
	}
	@media screen and (max-width:1055px){

		header {
			top: 0px;
    	min-width: 100%;
		z-index: 1000;
		}
		.header_pc{
			display: none;
		}
		.header_sp{
			display: block;
			height: 50px;
			background: #fff;
		}
		.head_inner{
			height: 100%;
		}
		header nav {
			width: 100%;
			height: 100%;
		}
		.nav_box {
			padding: 0;
			position: relative;
			background: inherit;
		}
		/*.nav_box .logo{
			top:-12px;
			left:-10px;
			position: absolute;
			width: 110px;
	    background: #fff;
	    border-radius: 200px;
	    box-sizing: border-box;
	    padding: 16px;
		display: none;
		}*/
		.nav_box .logo{
			display: flex;
			align-items: center;
			height: 100%;
			padding-left: 10px;
		}
		.nav_box .logo img{
			width:125px;
		}

		.btn-trigger {
		  width: 20px;
		  height: 19px;
		  cursor: pointer;
			position: fixed;
			top: 18px;
			right: 20px;
			z-index: 2500;
		}
		.btn-trigger span {
		  position: absolute;
		  left: 0;
		  width: 100%;
		  height: 3px;
		  background-color: #FF5523;
		  border-radius: 5px;
		}
		.btn-trigger.active span {
			background-color: #FFf;
		}
		.btn-trigger, .btn-trigger span {
		  display: inline-block;
		  transition: all .5s;
		  box-sizing: border-box;
		}
		.btn-trigger span:nth-of-type(1) {
		  top: 0;
		}
		.btn-trigger span:nth-of-type(2) {
		  top: 8px;
		}
		.btn-trigger span:nth-of-type(3) {
		  bottom: 0;
		}
		#btn.active span:nth-of-type(1) {
		  -webkit-transform: translateY(15px) rotate(45deg);
		  transform: translateY(10px) rotate(45deg);
		}
		#btn.active span:nth-of-type(2) {
		  opacity: 0;
		}
		#btn.active span:nth-of-type(3) {
		  -webkit-transform: translateY(-5px) rotate(-45deg);
		  transform: translateY(-6px) rotate(-45deg);
		}
		.nav_list_sp{
			display: none;
			background: #FF5523;
			height: fit-content;
			color: #fff;
			font-weight:bold;
			position: fixed;
			top:0;
			left:0;
			text-align: center;
			padding-top:10%;
			z-index: 2000;
		}

		.nav_list_sp_cont a{
			display: block;
			color:#fff;
			margin-top:10%;
			font-size: 16px;
		}
		.nav_sns_sp{
			margin: 10% auto 40px;
			display: flex;
			justify-content: center;
		}
		.nav_sns_sp a{
			margin:0 15px;
			width: 24px;
			height: 24px;
		}
		.nav_sns_sp a img{
			height: 100%;
		}

	}
/* header end*/


/* mv ///////*/
#mv{
	z-index: 3;
	position: relative;
	overflow: hidden;
}
#mv .slide img{
	width: 100%;
}
 .mv_bottom{
	 clip-path: ellipse(50% 80% at 50% 100%);
   background: #fff;
   position: absolute;
   bottom: 0px;
   z-index: 35;
   height: 40px;
	 width: 105%;
   overflow: hidden;
   margin: auto;
   left: 50%;
   transform: translate(-50%, -0%);
   -webkit-transform: translate(-50%, 0%);
   -ms-transform: translate(-50%, -0%);
 }

  /* under_mv///////*/
  .under_mv{
  	margin-top:-30px;
  }
  .under_mv img{
  	max-width:100%;
 		margin: auto;
  }
	.under_titl{
		top:40%;
		left: 0%;
		right: 0%;
		margin: auto;
		position: absolute;
		width:410px;
		text-align: center;
	}
	.under_titl h1{
		padding:15px;
		font-size: 40px;
	}
	.under_titl p{
		margin-top:10px;
		padding:10px;
		font-weight:bold;
	}
	.ut_02{
		position: absolute;
		width:100%;
		height: 100%;
		top:50%;
	}
	.ut_02_inner{
		text-align: center;
		position: relative;
		width:1105px;
		display: flex;
		margin: auto;
	}
	.ut_02 p{
		position: relative;
		font-size: 24px;
		margin-bottom:10px;
		padding-right:80px;
	}
	.ut_02 p::before {
		content: "";
    position: absolute;
    border-top: solid 1px #FF5523;
    width: 137px;
    top: 50%;
    left: 0;
    height: 1px;
    left: 6px;
	}
	.ut_02 p::after{
		position: absolute;
		content: "";

	}
	.ut_02 h1{
		font-size: 30px;
	}

  @media screen and (max-width:768px){
		#mv{
			padding-top: 50px;
		}
		 .mv_bottom{
			 bottom:0px;
		 }
		.under_titl{
			top:55%;
			width:70%;
			text-align: center;
		}
		.under_titl h1{
			font-size:23px;
			width: 95%;
			margin: auto;
		}
		.under_titl h1{
			font-size:23px;
		}
		.under_titl p{
			font-size:12px;
		}
		.ut_02 {
    	top: 45%;
		}
		.ut_02_inner {
			padding-left:26px;
	    text-align: left;
		}
		.ut_02 p{
			font-size: 17px;
			margin-bottom:20px;
		}
		.ut_02 p::before {
		    width: 50px;
		    left: -52px;
		}
		.ut_02 h1{
			font-size: 20px;
			line-height: 1.7;
		}
  }

	/* under_ftxt */
	#under_ftxt{
		text-align: center;
	}
	#under_ftxt.sec_pad_01{
		padding:40px 0 60px;
	}

	#under_ftxt h2{
		font-size: 40px;
		margin-bottom:30px;
	}
	#under_ftxt p{
		font-size: 24px;
		line-height: 1.8;
		font-weight: bold;
		margin-bottom:30px;
	}

	#under_ftxt.sec_pad_01.logo{
		padding:0px 0 0px;
	}
	#under_ftxt.sec_pad_01.logo p{
		margin-bottom:0px;
	}
	.under_ftxt_logo{
		width:195px;
		margin: -20px auto 20px;
		display: none;
	}

	@media screen and (max-width:768px){
		#under_ftxt h2{
			font-size: 20px;
			margin-bottom:20px;
		}
		#under_ftxt p{
			font-size: 16px;
		}
		.under_ftxt_logo {
	    width: 100px;
		}

	}
	/* under_ftxt end ///// */


/*footer /////*/
#footer{
	background: #F8F8F8;
	min-width: 1105px;
	margin: auto;
	text-align: center;
	padding:20px 0;
	position: relative;
}
.footer_flex{
	display: flex;
	justify-content: space-between;
}
.footer_link{
	font-size: 14px;
}
.footer_link a{
	padding:0 10px;
}
.footer_link a:first-child{
	border-right: solid 1px #000;
}
.foot_copy{
	font-size: 12px;
}
@media screen and (max-width:768px){
	#footer{
		min-width: auto;
		padding:30px 0 45px;
		width: 100%;
	}
	.footer_flex{
		display: flex;
		flex-direction: column;
	}
	.footer_link{
		justify-content: center;
		margin-bottom:20px;
	}
	.footer_link a{
		padding:0 15px;
	}
	.foot_copy{
		font-size: 11px;
	}
}
