/*
----------------------------------------
1100
----------------------------------------
*/

@media ( max-width: 1100px ) {

	#filtering-search-form .selectmenu {
		width: 210px;
		padding: 13px 25px 13px 10px !important;
		background-position: right 10px center;
		background-size: 11px;
		font-size: 16px;
	}

	#filtering-search-form .submit-btn {
		height: 52px;
		font-size: 1.6rem;
	}

	#filtering-search-form .cross {
		padding: 0 .5rem;
	}

	.search-form form {
		width: 350px;
		margin-right: 20px;
	}

	.search-form input[type=text] {
		padding: 0 60px 0 15px
	}

	.search-form button {
		width: 60px;
	}

	#sp-btn.fixed,
	.bg-fixed #sp-btn {
		top: 20px;
		right: 20px;
	}

	/* home */

	#home .main-copy p span {
		text-indent: -5px;
		padding: .5rem .2rem 1.5rem .5rem;
	}

	#home .main-copy p br {
		display: block;
	}

	/* about */

	#about .about-table .box {
		padding: 6rem 3rem;
	}

	/* contact */

	#contact .step-list li {
		width: calc( ( 100% - 45px ) / 2 );
		margin-bottom: 6rem;
	}

	#contact .step-list li:nth-child( even )::after {
		display: none;
	}

	#contact form#mailformpro > dl {
		padding: 0;
	}

}


/*
----------------------------------------
960
----------------------------------------
*/

@media ( min-width: 960px ) {

	.btn-more:hover .btn-inner {
		color: #fff;
		text-decoration: none;
	}

	.btn-more:hover .btn-inner:before {
		width: 100%;
	}

	#filtering-search-form .submit-btn:hover {
		background: #fff;
		color: #C02838;
		cursor: pointer;
	}

	.shop-list .shop-item:hover {
		box-shadow: 0px 0px 6px #C0283880;
		z-index: 999;
	}

	#g-nav .p-header__ttl:hover {
		cursor: pointer;
	}

}


/*
----------------------------------------
959
----------------------------------------
*/

@media ( max-width: 959px ) {


	#header .line-bnr a .txt {
		font-size: 1.8rem;
	}

	#header .line-bnr a .btn span {
		font-size: 1.6rem;
		padding: 7px 15px 7px 60px;
		background: #fff url( ../img/common/icon-line.svg ) 15px center no-repeat;
	}

	.breadcrumbs-wrap {
		padding: 0 0 3rem;
	}

	.breadcrumbs-wrap #breadcrumbs {
		font-size: 1.4rem;
	}

	.breadcrumbs-wrap .icon {
		font-size: 1.2rem;
	}

	.dl-01 {
		margin-bottom: 1.5rem;
	}

	#filtering-search-form .selectmenu {
		width: 170px;
	}

	#filtering-search-form .submit-btn {
		width: 120px;
	}

	.page-head {
		height: auto;
		display: block;
		margin-bottom: 3rem;
	}

	.page-head:before {
		content: none;
	}

	.page-head .inner {
		width: 100%;
	}

	.page-head .cont-l {
		width: 100%;
		height: 107px;
		position: static;
	}

	.page-head .cont-r {
		width: 100%;
		height: auto;
		padding: 2.5rem 0 0;
	}

	.page-head .cont-r .cat-ttl {
		background-image: url(../img/shop-ac/ttl-line@2x.png);
		background-repeat: repeat-x;
		background-position: left bottom;
		background-size: 330px;
		font-size: 2rem;
		padding: 0 0 1rem;
	}

	.shop-list .shop-item {
		width: calc(100% / 2);
	}

	#header .head > .flex {
		height: 90px;
	}

	#sp-btn {
		width: 80px;
		height: 80px;
	}

	#g-nav {
		min-width: 0;
		width: 80%;
		padding: 4rem;
	}

	#g-nav .p-header__logo {
		margin-bottom: 5rem;
		width: 45vw;
	}

	#g-nav .p-header__ttl {
		font-size: 1.6rem;
		padding: 1.5rem 3rem 1.5rem 4rem;
	}

	#g-nav .p-header__ttl.ac-ttl:before {
		font-size: 1.5rem;
	}

	#g-nav .item-01 .p-header__ttl {
		background-position: left 5px center;
		background-size: 28px;
	}

	#g-nav .item-02 .p-header__ttl {
		background-position: left 5px center;
		background-size: 28px;
	}

	#g-nav .item-03 .p-header__ttl {
		background-position: left 5px center;
		background-size: 28px;
	}

	#g-nav .item-04 .p-header__ttl {
		background-position: left 5px center;
		background-size: 28px;
	}

	#g-nav .item-05 .p-header__ttl {
		background-position: left 5px center;
		background-size: 28px;
	}

	#g-nav .item-06 .p-header__ttl {
		background-position: left 5px center;
		background-size: 28px;
	}

	#g-nav .item-07 .p-header__ttl {
		background-position: left 5px center;
		background-size: 28px;
	}

	#g-nav .p-header__child {
		padding: 1.5rem 0 1rem 4rem;
	}

	#g-nav .p-header__child li {
		font-size: 1.6rem;
	}

	footer nav li {
		margin-left: 20px;
	}

	#shop-dtl .sec-shop .box {
		display: block;
	}

	#shop-dtl .sec-shop .box-r {
		padding-left: 0;
		transform: translateY(0);
	}

	#shop-dtl .sec-menu .pick-list {
		flex-wrap: wrap;
	}

	#shop-dtl .sec-menu .pick-item {
		width: 50%;
		padding-bottom: 2rem;
	}

	#shop-dtl .sec-menu .pick-item .img img {
		height: 25vw;
	}

	#shop-dtl .sec-around {
		padding: 5.5rem 0 6rem;
	}

	#shop-dtl .sec-around .inner {
		padding: 0;
	}

	#shop-dtl .sec-around .inner .shop-list {
		padding-bottom: 2rem;
	}

	#shop-dtl .sec-around .shop-list .shop-item {
		margin: 0 .5rem;
		padding: 1.5rem;
		background: #fff;
		opacity: .5;
	}

	#shop-dtl .sec-around .shop-list .shop-item.slick-active {
		opacity: 1;
	}

	#shop-dtl .sec-around .shop-list .shop-item.slick-current + .slick-active {
		opacity: .5;
	}

	/* home */

	#home .way-box .bnr a .txt {
		padding: 14px 20px;
	}

	/* contact */

	#contact form#mailformpro dl dt {
		width: 35%;
		padding: 20px 70px 20px 0;
	}

	#contact .req-label {
		right: 2rem;
	}

	#contact form#mailformpro dl dd {
		width: 65%;
	}

	#home .way-box .bnr a .en {
		font-size: 2rem;
	}

	#home .way-box .bnr a .jp {
		font-size: 1.4rem;
	}

}


/*
----------------------------------------
750
----------------------------------------
*/

@media ( max-width: 750px ) {

	html[lang=ja] {
		margin-top: 0 !important;
	}

	html #wpadminbar {
		display: none;
	}

	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}

	.inline-pc {
		display: none !important;
	}

	.inline-sp {
		display: inline-block !important;
	}

	.center {
		text-align: left;
	}

	.ta-c {
		text-align: center;
	}

	.wrapper {
		min-width: 100%;
	}

	.inner {
		padding: 0 15px;
		max-width: 100%;
		margin: 0;
	}

	p, dt, dd, li {
		font-size: 1.5rem;
		line-height: 1.9;
	}

	img {
		max-width: 100%;
		height: auto;
	}

	@keyframes swipe {
		0% {
			transform: translateX( -15px );
			opacity: 0;
		}
		15% {
			opacity: 1;
		}
		35% {
			opacity: 1;
		}
		50% {
			transform: translateX( -45px );
			opacity: 0;
		}
		100% {
			transform: translateX( -45px );
			opacity: 0;
		}
	}

	.swipe-wrap {
		position: relative;
	}

	.swipe {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		transform: translateY( -50% );
	}

	.swipe img {
		width: 37px;
		transform: translateX( -15px );
		opacity: 0;
		animation: swipe 3s linear 1s infinite normal;
	}

	/* layout */

	html {
		margin-top: 0 !important;
	}

	.l-contents {
		padding-bottom: 6rem;
	}

	/* flex */

	.flex {
		display: block;
	}

	textarea {
		height: 124px !important;
	}

	input::-webkit-input-placeholder {
		font-size: 3.5vw;
	}

	input:-moz-placeholder {
		font-size: 3.5vw;
	}

	.dl-01 .row > dd,
	.dl-01 .row > p {
		padding-left: 0;
	}

	.dl-01 .row > dd .item,
	.dl-01 .row > p .item {
		text-indent: -1em;
		padding-left: 1rem;
	}

	.dl-01 .row > dd .item:before,
	.dl-01 .row > p .item:before {
		width: 8px;
		height: 8px;
		margin-right: 8px;
	}

	.filtering-search-wrap {
		padding: 0 0 3rem;
	}

	.filtering-search-wrap .filtering-search-btn {
		background: #C02838;
		color: #fff;
		border-radius: 5px;
		font-size: 1.5rem;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		width: 100%;
		height: 45px;
		display: -ms-flexbox;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.ttl-filtering-search {
		font-size: 1.6rem;
		text-align: center;
		vertical-align: middle;
		display: -ms-flexbox;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 2rem;
	}

	#filtering-search-form {
		display: block;
	}

	#filtering-search-form .selectmenu {
		width: 100%;
		max-width: 100%;
		padding: 10px 25px 10px 30px !important;
		background-position: right 20px center;
		background-size: 15px;
		margin-bottom: 1rem;
	}

	#filtering-search-form .submit-btn {
		width: 100%;
		height: 50px;
		font-size: 1.8rem;
	}

	#filtering-search-form .cross {
		display: none;
	}

	.search-mes {
		margin-bottom: 1rem;
	}

	.search-mes .note {
		text-align: left;
		margin-top: 1.5rem;
		font-size: 1.2rem;
	}

	.mes {
		font-size: 1.5rem;
	}

	.heading-01 .ttl-ja {
		font-size: 2.2rem;
	}

	.heading-01 .ttl-en {
		font-size: 1.2rem;
	}

	.heading-02 span {
		font-size: 2rem;
	}

	.heading-03 {
		font-size: 1.8rem;
		line-height: 1.6;
	}

	.heading-04 {
		font-size: 2rem;
		padding: 1.5rem 1rem;
		margin-bottom: 3rem;
	}

	.search-wrap .search-form-input {
		padding: 13px 50px 13px 10px !important;
		background-position: right 15px center;
		background-size: 16px;
		font-size: 16px;
	}

	.search-wrap .search-btn {
		width: 50px;
	}

	#sp-btn {
		width: 60px;
		height: 60px;
	}

	#sp-btn #sp-btn-a span {
		width: 24px;
		margin-bottom: 5px;
		height: 3px;
	}

	#sp-btn-a::after {
		font-size: 10px;
		font-weight: bold;
		transform: scale( .8 );
	}

	#sp-btn.active span:nth-of-type(1) {
		-webkit-transform: translateY(8px) rotate(-35deg);
		transform: translateY(8px) rotate(-35deg);
	}

	#sp-btn.active span:nth-of-type(3) {
		-webkit-transform: translateY(-8px) rotate(35deg);
		transform: translateY(-8px) rotate(35deg);
	}

	.shop-list {
		display: block;
	}

	.shop-list .shop-item {
		width: 100%;
		padding: 2rem 0 0;
	}

	.shop-list .shop-item .img {
		text-align: center;
	}

	.shop-list .shop-item .img img {
		height: 60vw;
	}

	#g-nav {
		min-width: 0;
		width: 100%;
		padding: 4rem 2rem;
	}

	#header .line-bnr a {
		padding: 10px 0;
	}

	#header .line-bnr .flex {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		padding: 0 10px;
	}

	#header .line-bnr a .txt {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	#header .line-bnr a .btn span {
		font-size: 1.5rem;
		padding: 11px 15px 11px 45px;
		background: #fff url( ../img/common/icon-line.svg ) 15px center / 24px no-repeat;
	}

	#header .head {
		padding: 15px 0 5px;
	}

	#header .head > .flex {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		padding: 0 15px;
		height: auto;
	}

	#header .head hz1 {
		padding: 15.5px 10px 15.5px 0;
		height: 60px;
		box-sizing: border-box;
	}

	.search-form {
		order: 2;
		width: 100%;
		margin: 14px 0;
	}

	.search-form form {
		width: 100%;
		margin-right: 0;
	}

	.search-form input[type=text] {
		line-height: 43px;
		font-size: 1.6rem;
		padding: 0 45px 0 15px;
	}

	.search-form input[type=text]::placeholder {
		font-size: 1.6rem;
	}

	.search-form button {
		width: 45px;
		background: url( ../img/common/icon-search.svg ) center center / 21px no-repeat;
	}

	footer .inner.flex {
		padding: 2rem 0 0;
	}

	footer .logo {
		text-align: center;
		margin-bottom: 2rem;
	}

	footer nav ul.flex {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		padding: 1px 0 0;
		background: #eee;
	}

	footer nav li {
		width: calc( ( 100% - 1px ) / 2 );
		background: #fff;
		margin: 0 0 1px;
	}

	footer nav li {
	}

	footer nav li a {
		display: block;
		font-size: 1.4rem;
		white-space: nowrap;
		padding: 1rem .5rem 1rem 2.5rem;
		background: url( ../img/common/arrow-01@2x.png ) 10px center / 7px no-repeat;
	}

	footer .copyright {
		padding: 1rem;
	}

	footer .copyright p {
		font-size: 1.2rem;
		letter-spacing: 2px;
	}

	#shop-single footer .copyright {
		padding: 1rem 1rem 8rem;
	}


	#sp-bottom-fix {
		display: block;
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		opacity: 0;
		visibility: hidden;
		z-index: -1;
		transition: all .2s;
	}

	#sp-bottom-fix.view {
		opacity: 1;
		visibility: visible;
		z-index: 9999999;
	}

	#sp-bottom-fix ul {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		justify-content: space-between;
		background: rgba( 51, 51, 51, .5 );
		padding: 10px 15px;
	}

	#sp-bottom-fix ul li {
		width: 100%;
	}

	#sp-bottom-fix ul.flex li {
		width: calc( ( 100% - 10px ) / 2 );
	}

	#sp-bottom-fix ul li a {
		display: block;
		font-size: 1.5rem;
		text-align: center;
		padding: 11px 15px 11px 5px;
		background: #598CEE;
		color: #fff;
		border-radius: 5px;
	}

	#sp-bottom-fix ul li.line-btn a {
		background: #74C03E;
	}

	#sp-bottom-fix ul li a::before {
		content: '';
		display: inline-block;
		width: 25px;
		height: 25px;
		background: url( ../img/common/icon-sp-tel@2x.png ) center center / contain no-repeat;
		vertical-align: middle;
		margin-right: 8px;
	}

	#sp-bottom-fix ul li.line-btn a::before {
		background: url( ../img/common/icon-sp-line@2x.png ) center center / contain no-repeat;
	}

	#shop-dtl .breadcrumbs-wrap {
		padding-bottom: 3rem;
	}

	#shop-dtl .sec-shop {
		padding: 0 0 4.5rem;
	}

	#shop-dtl .sec-shop .head-wrap {
		background: none;
		display: block;
		padding: 0;
		margin-bottom: 2rem;
	}

	#shop-dtl .sec-shop .head-wrap .icon {
		font-size: 2.5rem;
	}

	#shop-dtl .sec-shop .head-wrap .link-item {
		padding: 0 .7rem;
	}

	#shop-dtl .sec-shop .head-wrap .item-05 img {
		width: 33px;
		height: 26px;
	}

	#shop-dtl .sec-shop .head-wrap .shop-name {
		font-size: 2rem;
		background-image: url(../img/shop-ac/ttl-line@2x.png), url(../img/shop-ac/ttl-line@2x.png);
		background-repeat: repeat-x;
		background-position: left top, left bottom;
		background-size: 330px;
		padding: 1.5rem 1rem;
		margin-bottom: 1.5rem;
	}

	#shop-dtl .sec-shop .slide-main-c,
	#shop-dtl .sec-shop .slide-thumbnail-c,
	#shop-dtl .sec-shop .no-img {
		width: 100%;
		margin: 0 auto 10px;
	}

	#shop-dtl .sec-shop .slide-main-c img {
		height: 230px;
	}

	#shop-dtl .sec-shop .thumbnail-item img {
		height: 58px;
		width: calc( 92% );
	}

	#shop-dtl .sec-shop .slide-thumbnail-c .slick-list {
		padding: 0 30px !important;
	}

	#shop-dtl .sec-shop .slide-thumbnail-c.slide-2-col .slick-list {
		padding: 0 80px !important;
	}

	#shop-dtl .sec-shop .slick-prev,
	#shop-dtl .sec-shop .slick-next {
		width: 27px !important;
	}

	#shop-dtl .sec-shop .box-r .btn-more .btn-inner {
		padding: 0;
	}

	#shop-dtl .sec-menu {
		padding: 3.5rem 0;
	}

	#shop-dtl .sec-menu .heading-01 {
		margin-bottom: 2.5rem;
	}

	#shop-dtl .sec-menu .cont {
		padding: 3rem 1.5rem 1rem;
	}

	#shop-dtl .sec-menu .cat-box {
		padding-bottom: 2.5rem;
	}

	#shop-dtl .sec-menu .swipe-wrap .swipe {
		right: -15px;
	}

	#shop-dtl .sec-menu .pick-list-wrap {
		padding-bottom: 0;
	}

	#shop-dtl .sec-menu .pick-list {
		display: block;
		white-space: nowrap;
		overflow: scroll;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
		margin-right: -1.5rem;
	}

	#shop-dtl .sec-menu .pick-item {
		display: inline-block;
		vertical-align: top;
		width: 185px;
		padding-right: 1rem;
		padding-bottom: 1rem;
	}

	#shop-dtl .sec-menu .pick-item .img img {
		height: 115px;
	}

	#shop-dtl .sec-menu .pick-item .menu-name {
		white-space: normal;
	}

	#shop-dtl .sec-menu .menu-list {
		flex-direction: column;
		align-items: flex-start;
	}

	#shop-dtl .sec-menu .menu-list h5 {
		padding-right: 0;
		margin-bottom: .5rem;
	}

	#shop-dtl .sec-guide {
		padding: 3.5rem 0 1rem;
	}

	#shop-dtl .sec-guide .heading-01 {
		margin-bottom: 3rem;
	}

	#shop-dtl .sec-guide .cont {
		margin-bottom: 3rem;
	}

	#shop-dtl .sec-around {
		padding: 3.5rem 0 2rem;
	}

	#shop-dtl .sec-around .heading-01 {
		margin-bottom: 3rem;
	}

	#shop-dtl .sec-around .shop-list {
		background: none;
	}

	#shop-dtl .slick-dots li.slick-active button:before {
		opacity: 1;
		color: #C02838;
	}

	#shop-dtl .sec-search {
		padding: 3.5rem 0 0;
	}

	#shop-dtl .sec-search .heading-01 {
		margin-bottom: 3rem;
	}

	#shop-dtl .sec-search .search-form {
		display: block;
		margin: 2rem 0;
	}

	/* home */

	#home .main-img {
		padding: 4.2rem 0 8rem;
		margin-bottom: 3rem;
	}

	#home .main-img picture img {
		width: 239px;
	}

	#home .filtering-search-wrap {
		padding: 0 0 3.5rem;
	}

	#home .main-copy p {
		font-size: 2rem;
	}

	#home .main-copy p strong {
		font-size: 2.8rem;
	}

	#home .news-box {
		margin: 3rem 0;
		padding: 1.5rem 0;
	}

	#home .news-box .box > a {
		padding: 15px;
		background: #fff !important;
	}

	#home .news-box .flex h2 {
		width: 100%;
		padding-right: 0;
		margin-bottom: 10px;
	}

	#home .news-box .flex h2 span {
		padding-right: 4rem;
		font-size: 2rem;
		background: url( ../img/home/icon-alert.svg ) right center / 32px no-repeat;
	}

	#home .news-box .flex .link {
		width: 100%;
		font-size: 1.6rem;
		vertical-align: middle;
		padding-right: 1.8rem;
		background: url( ../img/common/arrow-02.png ) right center / 16px no-repeat;
	}

	#home .news-box .flex .link time {
		width: auto;
		padding-right: 10px;
		font-size: 1.4rem;
	}

	#home .bnr-today {
		margin: 3rem 0 5.5rem;
	}

	#home .genre-box {
		padding: 3.5rem 0;
	}

	#home .genre-box .inner {
		padding: 0;
	}

	#home .genre-box .flex-wrap {
		overflow: scroll;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
	}

	#home .genre-box .flex {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		flex-wrap: nowrap;
		margin: 0 5.5%;
	}

	#home .genre-box .flex > a {
		width: 150px;
		min-width: 150px;
		margin: 0;
	}

	#home .genre-box .flex figure {
		margin: 0 10px 10px 0;
	}

	#home .genre-box .flex a:last-child {
		width: 160px;
		min-width: 160px;
	}

	#home .genre-box .flex a:last-child figure {
		margin-right: 20px;
	}

	#home .genre-box .flex figcaption {
		font-size: 1.6rem;
		line-height: 4rem;
	}

	#home .way-box {
		padding: 3.5rem 0;
	}

	#home .way-box .bnr {
		width: 100%;
		margin-top: 10px;
	}

	#home .way-box .bnr a {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
	}

	#home .way-box .bnr a .en {
		font-size: 1.7rem;
	}

	#home .way-box .bnr a .jp {
		font-size: 1.2rem;
	}

	#home .station-box {
		padding: 3.5rem 0;
	}

	#home .station-box .station-list {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
	}

	#home .station-box .station-list li {
		width: calc( ( 100%  - 10px ) / 2 );
		margin: 0 10px 15px 0;
	}

	#home .station-box .station-list li:nth-child( even ) {
		margin-right: 0;
	}

	#home .station-box .station-list li:nth-child( 5n ) {
		margin-right: 8px;
	}

	#home .station-box .station-list li a {
		font-size: 1.6rem;
		padding: 13px 20px;
	}

	#home .feature-box {
		padding: 5rem 0 6rem;
	}

	#home .feature-box .feature-list li {
		width: 100%;
		margin: 0 0 8px;
	}

	#home .feature-box .feature-list li:last-child {
		margin-bottom: 0;
	}

	#home .feature-box .feature-list li a {
		min-height: 25vw;
		padding: 10px;
		font-size: 1.6rem;
	}

	/* about */

	#about .about-box {
		margin: 0 0 3.5rem;
	}

	#about .about-box .heading-04 {
		margin-bottom: 3.5rem;
	}

	#about .about-table {
		padding: 3.5rem 0;
	}

	#about .about-table .box {
		padding: 3rem 2rem;
	}

	#about .about-table dt {
		width: 100%;
		padding: 1.3rem 1rem;
		font-size: 1.6rem;
	}

	#about .about-table dd {
		width: 100%;
		padding: 1.3rem 1rem;
		line-height: 1.9;
	}

	.bnr-contact a {
		padding: 3.8rem 1.5rem 1.8rem;
	}

	.bnr-contact a::after {
		background: url( ../img/common/contact-bg-sp@2x.png ) center center / cover no-repeat;
	}

	.bnr-contact a .box {
		padding: 3.6rem 1rem 3rem;
	}

	.bnr-contact a .box .free img {
		width: 154px;
	}

	.bnr-contact a .box .txt {
		font-size: 1.6rem;
		padding: 0 25px 0 35px;
		background-size: 25px, 16px;
	}

	/* contact */

	#contact .flow-box {
		margin: 3.5rem 0;
		padding: 3.5rem 0;
	}

	#contact .flow-box .heading-01 {
		margin-bottom: 5.5rem;
	}

	#contact .step-list li {
		width: 85%;
		margin: 0 auto 8rem;
		padding: 20px 15px;
	}

	#contact .step-list li:last-child {
		margin-bottom: 0;
	}

	#contact .step-list li:nth-child( even )::after {
		display: block;
	}

	#contact .step-list li:last-child::after {
		display: none;
	}

	#contact .step-list li figure {
		margin: 2.5rem 0 2rem;
	}

	#contact .step-list li h3 {
		font-size: 1.7rem;
	}

	#contact .step-list li::after {
		content: url( ../img/page/arrow-flow-02.svg );
		top: auto;
		right: auto;
		bottom: -4rem;
		left: 50%;
		transform: translate( -50%, 0 );
	}

	#contact .form-box .heading-01 {
		margin-bottom: 3.5rem;
	}

	#contact .form-box .notice {
		padding: 15px;
		margin-bottom: 2rem;
	}

	#contact .form-box .notice dt {
		width: 100%;
		padding: 0;
		margin-bottom: 1rem;
	}

	#contact .form-box .notice dd {
		width: 100%;
	}

	#contact .form-box .notice dd li {
		font-size: 1.2rem;
		padding-left: 1.2rem;
		text-indent: -1.2rem;
	}

	/* form.php */

	.form-step {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		margin: 0 0 15px;
		font-size: 1.1rem;
	}

	.form-step > p {
		height: 4rem;
		line-height: 4rem;
		padding: 0 8px 0 0 !important;
	}

	.form-step > p:last-child {
		padding: 0 !important;
	}

	.form-step > p::before {
		content: '';
		border-top: solid 10px #fff;
		border-right: solid 5px #fff;
		border-bottom: solid 10px transparent;
		border-left: solid 5px transparent;
		position: absolute;
		top: 0;
		right: 0;
	}

	.form-step > p::after {
		content: '';
		border-top: solid 10px transparent;
		border-right: solid 5px #fff;
		border-bottom: solid 10px #fff;
		border-left: solid 5px transparent;
		position: absolute;
		right: 0;
		bottom: 0;
	}
	#contact form#mailformpro > dl {
		flex-direction: column;
	}

	#contact form#mailformpro dl dt {
		width: 100%;
		background: transparent;
		padding: 0 40px 0 0;
		position: relative;
	}

	#contact form#mailformpro dl dt::after {
		content: '';
		width: 24px;
		height: 24px;
		background: url( ../img/common/icon-check.svg ) center center / 24px no-repeat;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY( -50% );
		opacity: 0;
		visibility: hidden;
		transition: all .2s;
	}

	#contact form#mailformpro dl dt.ok::after {
		opacity: 1;
		visibility: visible;
	}

	#contact .req-label {
		position: relative;
		right: 0;
		top: 0;
		vertical-align: middle;
		margin-left: 10px;
		transform: translateY( -2px );
	}

	#contact form#mailformpro dl dd {
		width: 100%;
		padding: 5px 0 15px;
	}

	#contact dd .address {
		flex-direction: column;
		margin: 0;
	}

	#contact form#mailformpro dl dd::after {
		display: none;
	}

	#contact dd .flex > .ttl {
		width: 100%;
		padding: 5px 0;
	}

	#contact dd .flex > .input {
		width: 100%;
	}

	.pp-box {
		margin: 1rem 0 3rem;
		padding: 2rem 1.5rem;
		max-height: 175px;
	}

	.pp-box h2 {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}

	.pp-box h3 {
		font-size: 1.5rem;
		margin: 20px 0 15px;
	}

	.pp-box p {
		font-size: 1.3rem;
	}

	.pp-box .address-box p {
		padding: 15px;
	}

	#contact .agree .req-label {
		top: -1px;
		margin: 0 10px 0 0;
	}

	.submit-box {
		text-align: center;
	}

	#mfp_loading,
	#mfp_loading_screen,
	#div#mfp_overlay_background {
		display: none !important;
	}

	#contact .agree label {
		display: block;
		text-align: center;
		padding: 0 !important;
	}

	#contact button.mfp_element_submit,
	#contact button#mfp_button_send {
		display: block;
		width: 100%;
		margin: 3rem 0 0;
		padding: 15px;
	}

	#contact form#mailformpro .flex label.mfp_not_checked,
	#contact form#mailformpro .flex label.mfp_checked {
		display: block;
		box-sizing: border-box;
		text-align: center;
	}

	#contact form#mailformpro .flex label.mfp_not_checked {
		background: #fafafa;
	}

	#contact form#mailformpro label.mfp_not_checked,
	#contact form#mailformpro label.mfp_checked {
		margin: 0;
		font-size: 1.4rem;
	}

	#contact .flex.inline {
		justify-content: space-between;
		margin: 0;
	}

	#contact .flex.inline > span {
		width: calc( 50% - 7.5px ) !important;
		margin: 0 !important;
	}

	#contact dd .flex.inline span {
	    padding: 0;
	}

	#contact div#mfp_phase_confirm h4 {
		font-size: 1.8rem;
		margin: 20px 0;
	}

	#contact table#mfp_confirm_table {
		margin: 20px 0 0;
	}

	#contact table#mfp_confirm_table tr {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
	}

	#contact table#mfp_confirm_table tr th {
		width: 100%;
		padding: 10px 15px;
	}

	#contact .remaining {
		right: 0;
		left: 0;
		bottom: 0;
		display: block;
		border-top: solid 1px rgba( 255, 255, 255, .8 );
	}

	#contact .remaining .read {
		display: none;
	}

	#contact .remaining .num {
		padding: 10px;
	}

	#contact .copyright {
		padding-bottom: 6rem;
	}

	/* thanks */

	#thanks .thanks-box p {
		text-align: left;
	}

	#thanks .thanks-box p.back-link {
		text-align: center;
		margin-top: 2rem;
	}

	/* not-found */

	#not-found .back-link {
		margin-top: 2rem;
	}

}
