@charset "utf-8";
/* CSS Document */

@media screen and (max-width: 768px) {
	body {}

	#wrap {
		margin: 0;
		padding: 0;
	}

	.img-100 {
		width: 100%;
		height: auto;
	}

	.img-80 {
		width: 80%;
		height: auto;
	}

	.img-50 {
		width: 50%;
		height: auto;
		margin: 0 25%;
	}

	.img-w40 {
		width: 40px;
	}

	.img-w80 {
		width: 80px;
	}

	.sp-none {
		display: none;
	}

	#wrap section {
		width: 94%;
		margin: 0 3%;
	}

	.flex-bt {
		display: block;
	}

	/*font*/
	.f-center-sp {
		text-align: center !important;
	}

	.f-line-sp {
		line-height: 1.4;
	}

	.f-left-sp {
		text-align: left !important;
	}

	.f-right-sp {
		text-align: right !important;
	}

	/*font*/
	.fs-14 {
		font-size: 1.2rem;
	}

	.fs-18 {
		font-size: 1.4rem;
	}

	.fs-24 {
		font-size: 2rem;
	}

	.fs-28 {
		font-size: 2.2rem;
	}

	.fs-34 {
		font-size: 2.6rem;
	}

	.fs-56 {
		font-size: 4.4rem;
	}

	.fs-64 {
		font-size: 5rem;
	}

	/*margin*/
	.mt10 {
		margin-top: 10px;
	}

	.mb10 {
		margin-bottom: 5px;
	}

	.mb20 {
		margin-bottom: 10px;
	}

	.mb40 {
		margin-bottom: 20px;
	}

	.mb80 {
		margin-bottom: 40px;
	}

	.mg40 {
		margin: 20px;
	}

	.mr20 {
		margin-right: 10px;
	}

	.mr40 {
		margin-right: 20px;
	}

	.sp-mb10 {
		margin-bottom: 10px;
	}

	.sp-mr10 {
		margin-right: 10px;
	}

	/*padding*/
	.pd20 {
		padding: 10px 3%;
	}

	.pd30 {
		padding: 15px 4%;
	}

	.pd40 {
		padding: 10px 5%;
	}

	.ptb40 {
		padding: 20px 0;
	}

	.ptb80 {
		padding: 40px 0;
	}

	.sp-block {
		display: block;
	}

	/*====================================
	 midashi
	====================================*/
	h2 {
		font-size: 3.2rem;
	}

	.blue_ttl h2:before,
	.blue_ttl h2:after,
	.white_ttl h2:before,
	.white_ttl h2:after {
		-webkit-background-size: 20px 20px;
		width: 20px;
		height: 20px;
		position: absolute;
		bottom: 10px;
	}

	.blue_ttl h2:before,
	.white_ttl h2:before {
		left: 0px;
	}

	.blue_ttl h2:after,
	.white_ttl h2:after {
		right: 0px;
	}

	/*h3*/
	h3,
	h4 {
		font-size: 2.5rem;
	}

	/*fuki_y*/
	.fuki_y p {
		font-size: 2rem;
		line-height: 1.4;
	}

	.btn_01 a {
		padding: 0.5em 1em;
		font-size: 2rem;
	}

	/*====================================
	 header
	====================================*/
	header {
		padding: 5px 0;
		height: 30px;
		position: relative;
		background: rgba(255, 255, 255, 0);
	}

	header .container {
		max-width: 94%;
		padding: 0 3%;
	}

	header .container .logo img {
		height: 20px;
	}

	header .container .tel img {
		height: 20px;
	}

	/*main*/
	.main {
		height: auto;
		position: relative;
	}

	.main h2 {
		padding: 0;
	}

	.main p {
		position: absolute;
		right: 5%;
		bottom: 10px;
		z-index: 10;
	}

	.main p img {
		width: 120px;
	}

	/*line_block*/
	.line_block {
		background: #f9f8cb;
	}

	.line_block dl {
		line-height: 1.4;
	}

	.line_block dt {
		padding: 10px 0;
		font-size: 2rem;
		color: #fff;
		font-weight: bold;
		text-align: center;
	}

	.line_block .btn_toggle {
		background: url(../images/arrow_w_down.png) no-repeat 95% center #00b900;
		background-size: auto;
		background-size: 13px 7px;
	}

	.line_block .btn_toggle.active {
		background: url(../images/arrow_w_up.png) no-repeat 95% center #00b900;
		background-size: auto;
		background-size: 13px 7px;
	}

	.line_block dd {
		display: none;
		padding: 10px 4%;
		border: 5px solid #00b900;
		box-sizing: border-box;
		background: #fff;
	}

	.line_block dd p {
		float: left;
	}

	.line_block dd .img {
		width: 40%;
		margin: 0 3% 0 0;
	}

	.line_block dd .txt {
		width: 57%;
	}

	/*menu_ttl*/
	.menu_ttl {
		margin: 10px 0;
		padding: 0.25em 0.5em;
		font-size: 2.8rem;
	}

	/*samatage*/
	.samatage_bg {
		margin: 0 0 350px 0;
	}

	.samatage_inner {
		padding: 40px 0 0 0;
	}

	.samatage dd {
		font-size: 1.6rem;
		margin: 0 6%;
	}

	.samatage dd .mr40 {
		margin: 0;
	}

	/*menu*/
	.menu_bg {
		margin: 300px 0 0 0;
	}

	.menu_inner {
		padding: 0 0 40px 0;
	}

	.menu_mini dt {
		font-size: 1.8rem;
	}

	/*hosho*/
	.hosho li {
		width: 100%;
		font-size: 1.6rem;
		margin: 0 0 20px 0;
	}

	/*voice*/
	.voice {
		padding: 20px 5%;
	}

	.voice dt {
		margin: 0 0 10px 10px;
	}

	/*media*/
	.media {
		box-sizing: border-box;
	}

	.media_tv {
		padding: 0px 5% 20px 5%;
	}

	.media_tv .fuki_y {
		top: -10px;
	}

	/*staff*/
	.staff {
		padding: 0 0 40px 0;
		background: none;
	}

	.staff .mr40,
	.staff .ml40 {
		margin: 0 0 20px 0;
	}

	.arrow_box_r:after {
		top: 100%;
		left: 50%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(249, 248, 203, 0);
		border-top-color: #f9f8cb;
		border-width: 15px;
		margin-left: -15px;
	}

	.arrow_box_l:after {
		top: 100%;
		left: 50%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(249, 248, 203, 0);
		border-top-color: #f9f8cb;
		border-width: 15px;
		margin-left: -15px;
	}

	.arrow_box_r,
	.arrow_box_l {
		padding: 1em;
		font-size: 1.6rem;
	}

	/*cv*/
	.cv {
		padding: 20px 5%;
	}

	.cv-coupon {
		margin: 0 0 1rem;
	}

	.cv-coupon p {
		font-size: 90%;
		padding: 0.5rem 1rem;
	}

	/*area*/
	.area {
		height: auto;
	}

	.area li:nth-child(1) {
		position: relative;
		border: 4px solid #e5e5e5;
		width: 100%;
		font-size: 4vw;
		margin: 0 0 20px 0;
		top: 0;
		transform: none;
	}

	.area li:nth-child(2) {
		position: relative;
		text-align: center;
		left: 0;
		top: 0;
	}

	.area li:nth-child(2) img {
		width: 70%;
	}


	/*====================================
	 FOOTER
	====================================*/
	footer {
		/*
		font-size:1.2rem;
		*/
	}

	footer nav ul {
		overflow: hidden;
		background-color: #fff;
		-webkit-border-radius: 12px;
		-moz-border-radius: 12px;
		-ms-border-radius: 12px;
		-o-border-radius: 12px;
		border-radius: 12px;
		display: inline-block;
		padding: 0 0px;
		letter-spacing: -0.4em;
	}

	footer nav ul li {
		display: inline-block;
		letter-spacing: normal;
		text-align: center;
		vertical-align: middle;
		width: 100%;
		border-bottom: 1px solid #f0ddbd;
	}

	footer nav ul li a {
		display: inline-block;
		text-align: center;
		padding: 10px;
		font-size: 17px;
		padding: 15px;
		color: #0264b0;
		text-decoration: none;
	}

	footer nav ul li span {
		display: none;
	}

	footer .companyList {
		width: 94%;
		padding: 0 3%;
	}

	footer .companyList li {
		margin: 0 auto 10px auto;
		width: 90%;
		display: block;
	}

	/*btm-bnr*/
	#scrollUp {
		display: none;
	}

	.to-top {
		position: fixed;
		display: flex;
		right: 15px;
		bottom: 35px;
		cursor: pointer;
		z-index: 100;
		display: none;
	}

	.to-top img {
		width: 110px;
	}

	/* .btm-bnr {
		position: fixed;
		bottom: 35px;
		right:15px;
		width: 100%;
		cursor: pointer;
	} */
	.btm-bnr p {
		text-align: right;
	}

	.btm-bnr p img {
		width: 110px;
	}

	.flex-bt-sp {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}


}