@charset "UTF-8";

/***** added on 19-11-18 *****/
@media screen, print {
	.linkArea {
		margin-bottom: 50px;
	}

	.link-btnArea {
		text-align: center;  
	}

	.link-btn {
		background: #fff;
		border: #fe9d8d solid 2px;
		font-size: 18px;
		padding: 10px 35px;
	}

	.link-btn::after {
		content: '\FF1E';
		margin-left: 5px;
	}
}

@media only screen and (max-width: 640px){
  .linkArea {
    margin-bottom: 0; /* reset */
  }
}

.ic-extlink {
  margin-right: 5px;
}
/******************************/


/***** added on 24-06-20 *****/
@media screen, print {
	:root {
    --clr-iwakired: #fe9d8d;
	}

	html {
		scroll-padding-top: 100px
	}

	.link-ext-bf-black,
	.link-ext-af-black,
	.link-ext-bf-red,
	.link-ext-af-red {
		align-items: center;
		display: flex;
		gap: 3px;
	}

	.link-ext-bf-black::before,
	.link-ext-af-black::after,
	.link-ext-bf-red::before,
	.link-ext-af-red::after {
		aspect-ratio: 1/1;
		background-size: contain;
		content: '';
		height: 14px;
	}

	.link-ext-bf-black::before,
	.link-ext-af-black::after {
		background: url(../images/ic_linkext_black.svg) no-repeat;
	}

	.link-ext-bf-red::before,
	.link-ext-af-red::after {
		background: url(../images/ic_linkext_red.svg) no-repeat;
	}

	/*-- header --*/
	.headerArea {
		display: flex;
		justify-content: space-between;
		margin-left: auto;
		margin-right: auto;
		width: min(95%, 1000px)
	}

	.logo-img {
		aspect-ratio: 16/5;
		width: 160px;
	}

	.gnav-head {
		display: none
	}

	.gnav-bodylist {
		display: grid;
		gap: 5px 25px;
		grid-template-columns: 1fr auto;	
		grid-template-rows: auto auto;	
	}	

	.gnav-mainlist {
		align-items: end;
		display: flex;
		gap: 25px;
		grid-column: 1 / 3;
		grid-row: 2 / 3;
	}

	.gnav-mainitem {
		line-height: 1; /* reset */
	}

	.gnav-mainlink {
		font-size: 15px;
		line-height: 1;
	}

	.gnav-sublist {
		align-items: start;
		display: flex;
		gap: 20px;
		grid-column: 1 / 2;
		grid-row: 1 / 2;
		justify-content: end;
	}

	.gnav-subitem {
		line-height: 1; /* reset */
	}

	.gnav-sublink {
		font-size: 12px;
		line-height: 1;
	}

	.gnav-snslist {
		align-items: center;
		display: flex;
		gap: 25px;
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}

	.gnav-snslink {
		cursor: pointer;
	}

	.gnav-snsimg {
		height: 20px;
		width: auto;
	}

	.link-x .gnav-snsimg {
		height: 16px;
	}
	/*-- header --*/

	/*-- footer --*/
	.footerArea {
		margin-left: auto;
		margin-right: auto;
		padding: 60px 0 50px;
		width: 900px;
	}

	.ft-body {
		display: flex;
		justify-content: space-between;
		margin-bottom: 50px;
	}

	.ftnav {
		display: flex;
		gap: 120px;
	}

	.ftnav-item {
		line-height: 1;
	}

	.ftnav-link {
		line-height: 2;
	}

	.ftnav-linksm {
		font-size: 11px;
		line-height: 1.8;
	}

	.ft-snslist {
		align-items: center;
		display: flex;
		gap: 40px;
		margin: 0 auto 10px;
		width: fit-content;
	}

	.ft-snslink {
		cursor: pointer;
	}

	.ft-snsimg {
		height: 25px;
		width: auto;
	}

	.link-x .ft-snsimg {
		height: 20px;
	}

	.ft-copy-para {
		font-size: 11px;
		line-height: 1;
		margin-bottom: 0; /* reset */
		text-align: center;
	}

	.ft-copy-para + .ft-copy-para {
		margin-top: 8px;
	} 
	/*-- footer --*/

	/*--- responsive ---*/
	.visible-tbsm-only,
	.visible-spsm-only {	
		display: none;
	}
}

@media only screen and (max-width: 960px) {
  .bodyscrolloff {
    overflow-y: hidden;
  }

/*-- header --*/
	.headerArea {
		justify-content: center;
		position: relative;
	}

	.headlogo {
		position: absolute;
	}

	.gnav-head {
		display: block;
		position: absolute;
		right: 0;
		top: 10px;
	}

	.toggle-hamburger {
    height: 30px;
    position: relative;
    transition: all .4s;
    width: 30px;
  }

  .toggle-bar {
    background-color: #000;
    border-radius: 2px;
    display: inline-block;
    height: 3px;
    left: 14px;
    left: 0;
    position: absolute;
    transition: all .4s;
    width: 100%; /* 30px */
  }

  .toggle-bar:nth-of-type(1) {
    top: 15px;
    top: 5px;
  }

  .toggle-bar:nth-of-type(2) {
    top: 23px;
    top: 15px;
  }

  .toggle-bar:nth-of-type(3) {
    top: 31px;
    top: 25px;
  }

  /* hamburger clicked */
  .toggle-hamburger.toggle-hamburger-open {
    transform: rotateX(360deg);
  }
  
  .toggle-hamburger-open .toggle-bar:nth-of-type(1) {
    left: 0;
    position: absolute;
    top: 5px;
    transform: translateY(6px) rotate(-135deg);
  }

  .toggle-hamburger-open .toggle-bar:nth-of-type(2) {
    opacity: 0;
  }

  .toggle-hamburger-open .toggle-bar:nth-of-type(3) {
    left: 0;
    position: absolute;
    top: 17px;
    transform: translateY(-6px) rotate(135deg);
  }

	.gnav-body {
		display: none;
	}

	.gnav-bodylist {
		background-color: #fff;
		display: flex;
		flex-direction: column;
		gap: 50px;
		height: 100vh;
		padding-top: 100px;
		width: 100vw;
	}

	.gnav-mainlist {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	.gnav-mainitem:first-of-type {
		/* border-top: #000 dotted 1px; */
	}

	.gnav-mainitem,
	.gnav-subitem {
		height: 50px;
		text-align: center;
		/* border-bottom: #000 dotted 1px;
		width: 100%; */
	}

	.gnav-sublist {
		flex-wrap: wrap;
		gap: 10px 50px;
		justify-content: center;
		margin-left: auto;
		margin-right: auto;
		width: 500px;
	}

	.gnav-mainlink,
	.gnav-sublink {
	}

	.gnav-sublink {
		font-size: 15px;
	}

	.gnav-snslist {
		justify-content: center;
	}
	/*-- header --*/

	/*-- footer --*/
	.footerArea {
		width: auto; /* reset */
	}

	.ft-body {
		align-items: center;
		flex-direction: column;
	}

	.ftlogo {
		margin-bottom: 30px;
	}

	.ftnav {
		gap: 0;
		justify-content: space-between;
		width: min(90%, 600px);
	}
	/*-- footer --*/
}

@media only screen and (max-width: 768px) {
	.gnav-bodylist {
		gap: 40px;
	}

	.index #content-header ul {
		height: 400px;
		height: 351px;
		height: calc(38.3vw + 106px);
	}
/*--- responsive ---*/
	.visible-tbsm-only {
		display: block;
	}	
}

@media only screen and (max-width: 640px) {
	/*-- header --*/
	.gnav-bodylist {
		gap: 25px;
		padding-top: 80px;
	}

	.gnav-mainlist {
		gap: 25px;
		grid-template-columns: 1fr;
	}

	.gnav-sublist {
		gap: 25px;
		width: auto;
	}

	.gnav-sublist {
		align-items: center;
		flex-direction: column;
	}

	.gnav-mainitem,
	.gnav-subitem {
		height: auto; /* reset */
	}

	.gnav-snslist {
		gap: 40px;
		margin-top: 20px;
	}

	/*-- header --*/

	.index #content-header ul {
		height: 350px;
		height: 250px;
		height: calc(62.5vw - 50px);
	}


	/*-- footer --*/
	.ftnav {
		align-items: center;
		flex-direction: column;
		text-align: center;
		width: fit-content;
	}

	.ftnav-list + .ftnav-list {
		margin-top: 20px;
	}

	.ftnav-item + .ftnav-item {
		margin-top: 15px;
	}

	.ftnav-link,
	.ftnav-linksm {
		font-size: 15px;
		line-height: 1.4;
	}

	.ftnav-link.link-ext-af-black {
		justify-content: center;
	}
	/*-- footer --*/

	/*--- responsive ---*/
	.visible-tbsm-only {	
		display: none;
	}	
}

@media only screen and (max-width: 480px) {
	
	/*--- responsive ---*/
	.visible-spsm-only {	
		display: block;
	}	
}
/**************************/