@charset "utf-8";
@import "https://use.fontawesome.com/releases/v5.13.0/css/all.css";
/* CSS Document */
/* -------------------------------------------- Basic Setting */	
html { scroll-behavior: smooth;}

body{
	font: 14px/1.6 "Hiragino Kaku Gothic Pro",Osaka,"メイリオ","ＭＳ Ｐゴシック","MS PGothic",Verdana,Arial,sans-serif;
	margin:0;
	color:#313131;
	width: 100%;
	max-width: 100%;	
}

/*--
a{
    color:blue;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
a:visited{
    color:blue;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
a:hover {
    color: #F5A862;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
--*/

@media screen and (min-width: 768px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 767px){	
  .br-pc { display:none; }
  .br-sp { display:block; }
}

.anchor {
  display: block;
    padding-top: 100px;
    margin-top: -100px;
}

.anchorB {
  display: block;
    padding-top: 100px;
    margin-top: -100px;
}
@media screen and (max-width: 767px) {
	.anchorB {
		padding-top: -300px;
		margin-top: 300px;
	}
}
/* -------------------------------------------- Layout共通 */
.wrapper {
	background:url("../i/ranking/back.jpg") 50% 0% no-repeat;
	background-color:#152743;
	background-size:cover;
	width:100%;
}

.container {
	width:900px;
	margin:0 auto;
}

@media screen and (max-width: 767px){
	.container {
		width:96%;
	}
	.wrapper {
		width:100%;
	}
}



/* -------------------------------------------- Header */
.header-box {
  height: 80px;
}
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color:rgba(255,255,255,0.7);
  z-index: 1000;
  display: flex;
  justify-content: space-between;
}

header .logo {
	width: 40%;
	height: 80px;
	display:table-cell;
	text-align: left;
	line-height: 80px;
	font-size: 20px;
	font-weight: 600;
	padding-left:40px;
	background: #ffffff;
}
header .logo a img {
	height:70%;
	vertical-align: middle;
	float:left;
	margin-right:10px;
	padding-top:20px;
	transition: .5s;
}
header .logo a:hover img {
	opacity:0.4;
}


header .logo h1 {
	display:block;
	margin-left:10px;
	color:#999999;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight:bold;
	font-size:1rem;
}


@media screen and (max-width: 767px){
	.psBanner {
		width:80%;
	}
}



header nav.pc-menu {
  width: 60%;
}

header nav.pc-menu ul {
  width: 100%;
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

header nav.pc-menu ul li {
  width: 33%;
}

header nav.pc-menu ul li a {
  display: block;
  width: 100%;
  text-align: center;
	transition:.5s;
	color:#444444;
	font-weight:bold;
	position:relative;
	border-left:solid 1px #eeeeee;
	height:80px;
	padding-top:20px;
}

header nav.pc-menu ul li a::after{
	position:absolute;
	left:0;
	content:'';
	width:100%;
	height:4px;
	background:#e74543;
	bottom:-1px;
	transform:scale(0,1);
	transform-origin:left top;
	transition:transform 0.3s;
}

header nav.pc-menu ul li a:hover::after {
	transform:scale(1,1);
}

header nav.pc-menu ul li a span {
	display:block;
	color:#999999;
	font-size:.6rem;
	font-weight:normal;
	line-height:10px;	
}

.sm {
  display: none;
}

ul li.menber{}
header nav.pc-menu ul li.menber a{
    -webkit-background-clip: text;
    color: transparent;
    background-image: linear-gradient(90deg, #b9843e 10%, #ddcc61 50%, #b9843e 90%);
    display: inline-block;}
header nav.pc-menu ul li.awarded a span,header nav.pc-menu ul li.menber a span{
    -webkit-background-clip: text;
    color: transparent;
    background-image: linear-gradient(90deg, #b9843e 10%, #ddcc61 50%, #b9843e 90%);
    }

/**********************************　
以下、ハンバーガーメニューの設定　
************************************/

@media screen and (max-width: 767px){
  header nav.pc-menu {
    display: none;
  }
	header .logo {
		width: 80%;	
		padding-left:20px;
	}
	header .logo h1 {
		font-size:.8rem;
		display:none;
	}

  #hamburger {
    background-color: transparent;
    position: relative;
    cursor: pointer;
    margin: 10px 0 0 auto;
    height: 60px;
    width: 60px;
	  z-index:2000;
  }

  #hamburger .icon span {
    position: absolute;
    left: 15px;
    width: 30px;
    height: 4px;
    background-color: #eeeeee;
    border-radius: 8px;
    transition: ease 0.75s;
  }

  .icon span:nth-of-type(1) {
    top: 16px;
  }
  .icon span:nth-of-type(2) {
    top: 28px;
  }
  .icon span:nth-of-type(3) {
    bottom: 16px;
  }

  .close span:nth-of-type(1) {
    transform: rotate(45deg);
    top: 28px;
  }

  .close span:nth-of-type(2) {
    opacity: 0;
  }

  .close span:nth-of-type(3) {
      transform: rotate(-45deg);
      top: 28px;
  }

  .sm {
      top: 80px;
      left: 0px;
      position: absolute;
      z-index: 10;
      width: 100%;
      background-color: rgba(34, 49, 52, 0.5);
  }
  .sm ul {
	  width:100%;
	  display:flex;
    flex-direction: column;
  }
	.sm ul li {
		width:100%;
		text-align: center; 
		 border-top: solid 0.5px rgba(255, 255, 255, 0.2);
		padding-top:30px;
		padding-bottom:30px;
	}

  .sm ul a {    
	  color:#ffffff;   
  }
}
/* -------------------------------------------- Hero */
.hero {
	width: 100%;
	height:700px;
	background-image:url("../i/hero_pc.jpg"); 
	background-repeat:no-repeat;
	background-position:top center;
	background-size:cover;	
}
.hero::before {
	content: '';
	display: block;
	padding-top:30%;
}

@media screen and (max-width: 767px){
	.hero {
		background-image:url("../i/hero_sp.jpg"); 
		background-size: contain;
		height:420px;
	}
	.hero::before {
		padding-top:55%;
	}
}
@media screen and (min-width: 1500px) {
	.hero {
		background:url("../i/hero_pc.jpg")top center no-repeat,linear-gradient(to right, #f6f7f9, #f6f7f9 30%, #e7e7e7 60%, #e7e7e7); 
		background-size:contain;
		height:900px;
	}
}
/* -------------------------------------------- AwardTitle */
.awardTitle {
	margin:0 auto;
	width:800px;
	height:600px;
	text-align:center;
}
.awardTitle.archHeight {
	height:480px;
}

.awardTitle h1 {
	margin:0 auto 20px;
	width:500px;
}
.awardTitle h1 img {
	width:100%;
}

.awardTitle h3 {
	margin:0 auto 5px;
	text-transform: uppercase;	
	font-family: "Noto Serif JP", serif;
	font-size:1.8rem;
	font-weight:bold;	
	border-bottom: 4px solid #c21500;	
	border-image: linear-gradient(to right, #0f203a 0%, #c21500 10%, #c21500 80%, #0f203a 100%);
	border-image-slice: 1;	
}
.awardTitle h3 span {
	display:inline-block; 
	 background: linear-gradient(90deg, #8c7537 0%, #dbb00b 45%, #fde79d 70%, #dbb10c 85%, #bc7f04 90% 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.awardTitle h2{	
	margin:0 auto;
	display: block;
  text-transform: uppercase;
}

.awardTitle h2.archVer{	
	margin:0 auto;
	display: block;
  text-transform: uppercase;
	border-bottom: 4px solid #c21500;	
	border-image: linear-gradient(to right, #0f203a 0%, #c21500 10%, #c21500 80%, #0f203a 100%);
	border-image-slice: 1;	
}

.awardTitle h2 span {
	font-family: "Noto Serif JP", serif;
	font-size:4.5rem;
	font-weight:bold;	
	color: #e8cd77;
	background: linear-gradient(0deg, #EDAC06, #e7d084, #ffffb0,#EDAC06);
	background: -webkit-linear-gradient(0deg, #EDAC06, #e7d084, #ffffb0,#EDAC06);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
	line-height:120%;
}
@media screen and (max-width: 767px) {
	.awardTitle {
		margin:0 auto;
		width:100%;
		height:400px;
	}
	.awardTitle h1 {
		width:70%;
	}
	.awardTitle h2 span {
		font-size:2.3rem;
	}
	.awardTitle.archHeight {
		height:250px;
	}
}

/* -------------------------------------------- tab */
.tab {
  max-width: 1000px;
  margin: 0 auto;
}

/* タブメニュー */
.tab__menu {
  display: flex;
  align-items: flex-end; /* メニューを下揃え&高さを調整 */
  justify-content:flex-start;
  min-height: 50px; /* メニュー切替時にタブがズレないように */
  padding: 0;
  margin: 0 0 0 30px;
}

.tab__menu-item {
  list-style: none;
  width: 180px;
  padding: 8px 5px; /* メニューに高さを付ける */
  text-align: center;
  margin-right: 6px;
  background-color: #1a335a;
	
	border-top:solid 2px #bb914f;
	border-left:solid 2px #bb914f;
	border-right:solid 2px #bb914f;
  cursor: pointer;
  transition: all .3s; /* アニメーション */
}

.tab__menu-item span {
	display:inline-block;
	font-family: "Noto Serif JP", serif;
	font-weight:bold;
	font-size:1.6rem;
	background: linear-gradient(90deg, #8c7537 0%, #dbb00b 45%, #fde79d 70%, #dbb10c 85%, #bc7f04 90% 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: 2px 2px 3px #06162a;
}

.tab__menu-item:last-of-type {
  margin-right: 0px;
}

/* is-activeがついている時のスタイル */
.tab__menu-item.is-active {
	background-color: rgba(47,78,127);
	padding: 12px 5px;
	margin-bottom:-2px;
	color: #ffffff;
	border-top:solid 2px #bb914f;
	border-left:solid 2px #bb914f;
	border-right:solid 2px #bb914f;
	z-index:100;
}

/* タブパネル */
.tab__panel {
	width: 100%;
	background:transparent;
}

.tab__panel-box {
	min-height: 400px; /* テキスト量が多くなっても対応できるように */
	padding: 20px;
	background:transparent;
}

.tab__panel-box001,
.tab__panel-box002 {
	background: linear-gradient(rgba(47,78,127,1),rgba(18,33,57,0));
	border-top:solid 2px #bb914f;
	display: none;
	position: relative;
	z-index:1;
}

.tab__panel-box001::before,
.tab__panel-box002::before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 2px;
    margin: 0 auto;
    text-align: center;
    background-image: -webkit-linear-gradient(top, transparent, #bb914f 0%, #bb914f 75%, transparent);
    background-image: linear-gradient(to bottom, transparent, #bb914f 0%, #bb914f 75%, transparent);
}

.tab__panel-box001::after,
.tab__panel-box002::after{
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    height: 100%;
    width: 2px;
    margin: 0 auto;
    text-align: center;
    background-image: -webkit-linear-gradient(top, transparent, #bb914f 0%, #bb914f 75%, transparent);
    background-image: linear-gradient(to bottom, transparent, #bb914f 0%, #bb914f 75%, transparent);
}



/* is-showがついている時のスタイル */
.tab__panel-box.is-show {
  display: block;
}
@media screen and (max-width: 767px) {
	.tab__menu-item {
		width:90px;
		padding: 4px 2px; /* メニューに高さを付ける */
	}
	.tab__menu-item.is-active {
		padding:8px 2px;
	}
}


/* -------------------------------------------- QC INFO */
.qcInfo {
	width: 100%;
	background: 
		url(../i/r_arrow.png)top left repeat-y, 
		url(../i/l_arrow.png)top right repeat-y, 
		linear-gradient(to right, rgb(210 210 210 / 100%), rgb(255 255 255 / 50%),rgb(210 210 210 / 100%));
	padding-top:100px;
	padding-bottom:50px;
}
.qcInnerFrame {
	width:1000px;
	margin:0 auto;
}

.qcInnerFrame dl {
	width:100%;
	margin:0 auto 70px;
	display:flex;
	justify-content: space-around;
}
.qcInnerFrame dl dt {
	width:57%;
	margin:0 auto;
	font-family: "Noto Sans JP", sans-serif;
	font-size:1.2rem;
	line-height: 180%;
}
.qcInnerFrame dl dt h5 {
	font-weight:bold;
	font-size:1rem;
	color:#e2bf6e;
	font-family: "Noto Sans JP", sans-serif;
	text-shadow: 1px 1px #bbb;
}
.qcInnerFrame dl dt h2 {
	font-size:2rem;
	color:#222222;
	font-family: "Noto Sans JP", sans-serif;
	margin-bottom:20px;	
}
.qcInnerFrame dl dd {	
	width:37%;
	margin:0 auto;
	align-self:flex-end;
}
.qcInnerFrame dl dd:first-child {
	align-self: center;
}

.qcInnerFrame dl dd img{
	position:relative;
	width:100%;  
	box-shadow: 10px 10px 0 0 rgba(228, 195, 122, 1); 
}

.qcInnerFrame dl.revLayout {
	flex-direction: row-reverse;
}
.qcInnerFrame dl.revLayout dd img {
	box-shadow: -10px 10px 0 0 rgba(228, 195, 122, 1); 
}

.btnMore {
	display: block;
	text-align: left;
	vertical-align: middle;
	text-decoration: none;
	position: relative;
	width: 170px;
	margin:10px 0 0 0;
	padding: .5rem 2rem .5rem 1.5rem;
	font-weight: bold;
	color: #e80012;
	font-size:1vw;
	line-height:110%;
	background:transparent;
	border: 3px solid #e80012;
	transition: 0.3s ease-in-out;
	cursor:pointer;
	
}
.btnMore::before {
	content: '';
	width: 0.65em;
	height: 0.65em;
	border: 0.2em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: 1em;
	box-sizing: border-box;
	transition:.5s;
}
.btnMore:hover {
	background:#e80012;
	color:#fff;
}
.btnMore:hover::before {
	 right: .5em;
}


@media screen and (max-width: 767px) {
	.qcInfo {
		background: 
		url(../i/r_arrow_s.png)top left repeat-y, 
		url(../i/l_arrow_s.png)top right repeat-y, 
		linear-gradient(to right, rgb(210 210 210 / 100%), rgb(255 255 255 / 50%),rgb(210 210 210 / 100%));
		padding-top:50px;
	}
	.qcInnerFrame {
		width:90%;
	}
	.qcInnerFrame dl {
		flex-direction: column;
	}
	.qcInnerFrame dl dt,
	.qcInnerFrame dl dd {
		width:100%;
	}
	.qcInnerFrame dl dt {
		margin-bottom:20px;
	}
	.qcInnerFrame dl dt h5 {
		font-size:3vw;
	}
	.qcInnerFrame dl dt h2 {
		font-size:5vw;
		margin-bottom:10px;
	}
	.qcInnerFrame dl dt {
		font-size:3.5vw;
	}
	.qcInnerFrame dl.revLayout {
		flex-direction: column;
	}
	.qcInnerFrame dl.revLayout dt {
		margin-bottom:20px;
	}
	.btnMore {
		font-size:2.5vw;
		margin-bottom:20px;
	}
}


.cdtQc {
	width:80%;
	margin:0 auto 70px;
	text-align:center;
}

.cdtQc h3 {
	font-size:1.5rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:bold;
	text-align:center;
	margin:0 auto 20px;
	padding: 0 155px;
	display:inline-block;
	position:relative;
}
.cdtQc h3:before,
.cdtQc h3:after {	
    content: '';
    position: absolute;
    top: 35%;
    display: inline-block;
    width: 150px;
    height: 5px;
    background-color: #555;
}
.cdtQc h3:before {
    left: 0;
	background: linear-gradient(-90deg, #d6b85c 0%, #f7e9b2 50%, transparent);
}

.cdtQc h3:after {
    right: 0;
	background: linear-gradient(90deg, #d6b85c 0%, #f7e9b2 50%, transparent);
}

@media screen and (max-width: 767px) {
	.cdtQc h3 {
		font-size:1.3rem;
		padding:0 50px;
	}
	.cdtQc h3:before,.cdtQc h3:after {
		width:40px;
	}
}

.cdtQc dl {
	width:100%;
	margin:0 auto;
	padding:40px;
	border: 5px solid #eac676;	
	border-image: linear-gradient(to right, #d6b85c 0%, #f7e9b2 10%, #eac676 50%, #f7e9b2 80%, #d6b85c 100%);
	border-image-slice: 1;
	
	text-align:left;
	flex-direction: column;
}

.cdtQc dl dt {
	width:100%;
	font-size:1.6rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:bold;
	line-height:120%;
}
.cdtQc dl dd {
	width:100%;
	font-size:1.3rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:normal;
	margin-bottom:20px;	
}

.cdtQc dl dd:last-child {
	margin-bottom:0;
}

@media screen and (max-width: 767px) {
		.cdtQc {
			width:100%;
	}
	.cdtQc h3 {
		font-size:5vw;		
	}
	.cdtQc dl dt {
		font-size:4vw;		
	}
	.cdtQc dl dd {
		font-size:3vw;
	}
	.cdtQc dl {
		padding:20px;
	}
}
/* -------------------------------------------- QCList */
.QCList {
	width:100%;
	margin:0 auto;
	background-color:#003568;
	padding:50px;
}
.QCList h2 {
	margin:0 auto 40px;
	text-align:center; 
	font-family: "Noto Serif JP", serif;
	font-size:2.2rem;
	font-optical-sizing: auto;
	font-weight:bold;
	color:#e3c170;
	line-height:100%;
}
.QCList span {
	font-size:1.5rem;
}
.listFrame {
	width:1000px;
	margin:0 auto 40px;
	display:flex;
	justify-content: space-around;	
}
.listFrame dl {
	width:45%;
}

.listFrame dl dt {
	text-align:center;
	font-size:1.5rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:bold;
	color:#e3c170;
	padding-bottom:5px;
	margin-bottom:10px;
	background:url("../i/deco_line.jpg")bottom center no-repeat;
	background-size: contain;
}
.listFrame dl dd {
	
}

.listFrame dl dd ul {
	width:90%;
	margin:0 auto;
}
.listFrame dl dd ul li {
	width:100%;
	margin-bottom:10px;
}
.listFrame dl dd ul li a {
	display:block;
	background-color:#386997;
	padding:5px 20px;
	border-radius:30px;
	color:#ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-size:1.6rem;
	position:relative;
	z-index:1;
}

.listFrame dl dd ul li a .listArrow {
	position:absolute;
	top:6px;
	right:6px;
	background: #003568; /* 丸の色 */
	color: #fff; /* 矢印の色 */
	 overflow: hidden;
	border-radius: 100vh;
	width: 1.5em; /* 丸の横幅 */
	height: 1.5em; /* 丸の高さ */
	text-align: center;
	transition: 0.5s;	
}

.listFrame dl dd ul li a .listArrow span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scalex(0.55);
	-webkit-transform: translate(-50%, -50%) scalex(0.55);
	-ms-transform: translate(-50%, -50%) scalex(0.55);
}

.listFrame dl dd ul li a:hover {
	background-color:#277fd1;
	transition: 0.5s;
}

.listFrame dl dd ul li a:hover .listArrow {
	background:#ffffff;
	color:#003568;
}
@media screen and (max-width: 767px) {
	.QCList h2 {
		font-size:5vw;
	}
	.QCList span {
		font-size:3vw;
	}
	.listFrame {
		width:90%;
		flex-direction: column;
	}
	.listFrame dl {
		width:100%;
		margin-bottom:20px;
	}
	.listFrame dl dt {
		font-size:4vw;
	}
	.listFrame dl dd ul li a {
		font-size:3vw;
	}
	.listFrame dl dd ul {
		width:90%;
	}
}

.rLinkFrame {
	margin:0 auto;
	text-align:center;
	width:250px;
}
.rankingLink {
	margin:0 auto 40px;
	display:block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	position: relative;
	width: 250px;
	margin:10px 0 0 0;
	padding: 1.5rem 2rem 1.5rem 1.5rem;
	font-weight: bold;
	color: #ffffff;
	font-size:1.2vw;
	line-height:110%;
	background:#e80012;
	transition: 0.3s ease-in-out;
	cursor:pointer;
	
}
.rankingLink::before {
	content: '';
	width: 0.65em;
	height: 0.65em;
	border: .2em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: 1em;
	box-sizing: border-box;
	transition:.5s;
}
.rankingLink:hover {
	background:#f57e87;
	color:#fff;
}
.rankingLink:hover::before {
	 right: .5em;
}

@media screen and (max-width: 767px){
	.rankingLink {
		font-size:3vw;
	}
}
/* -------------------------------------------- largeCo */
.largeCo {
	width:1000px;
	margin:0 auto 40px;
}

.largeCo h2 {
	display:inline-block;
	padding:10px 0;
	margin:0 auto 40px;
	text-align:center;
	width:100%;
	background:linear-gradient(to right, rgb(18 39 61 / 100%), rgb(54 107 164 / 50%),rgb(43 77 192 / 50%),rgb(54 107 164 / 50%),rgb(18 39 61 / 100%));
	border-top: 2px solid #eac676;
	border-bottom: 2px solid #eac676;	
	border-image: linear-gradient(to right, #071527 0%, #f7e9b2 10%, #eac676 50%, #f7e9b2 80%, #071527 100%);
	border-image-slice: 1;	
}

.largeCo h2 span {	
	font-family: "Noto Serif JP", serif;
	font-size:3rem;
	font-weight:bold;	
	color: #e8cd77;
	background: linear-gradient(90deg, #EDAC06, #e7d084, #ffffb0,#EDAC06);
	background: -webkit-linear-gradient(0deg, #EDAC06, #e7d084, #ffffb0,#EDAC06);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}
@media screen and (max-width: 767px) {
	.largeCo {
		width:94%;
	}
	.largeCo h2 span {
		font-size:2rem;
	}
}

/* archLarge */
h2.archLarge {	
	display:inline-block;
	padding:10px 0;
	margin:0 auto 40px;
	text-align:center;
	width:100%;
	background:linear-gradient(to right, rgb(18 39 61 / 100%), rgb(54 107 164 / 50%),rgb(43 77 192 / 50%),rgb(54 107 164 / 50%),rgb(18 39 61 / 100%));
	border-top: 2px solid #eac676;
	border-bottom: 2px solid #eac676;	
	border-image: linear-gradient(to right, #071527 0%, #f7e9b2 10%, #eac676 50%, #f7e9b2 80%, #071527 100%);
	border-image-slice: 1;	
}
h2.archLarge span {	
	font-family: "Noto Serif JP", serif;
	font-size:3rem;
	font-weight:bold;	
	color: #e8cd77;
	background: linear-gradient(90deg, #EDAC06, #e7d084, #ffffb0,#EDAC06);
	background: -webkit-linear-gradient(0deg, #EDAC06, #e7d084, #ffffb0,#EDAC06);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}

@media screen and (max-width: 767px) {
	h2.archLarge span {
		font-size:2rem;
	}
}


dl.lcBox {
	width:100%;
	margin:0 auto 40px;
	padding:30px;
	background:#fefdf8 url('../i/ranking/box_back.jpg')top center no-repeat;	
	border: 2px solid #eac676;	
	border-image: linear-gradient(to right, #071527 0%, #f7e9b2 10%, #eac676 50%, #f7e9b2 80%, #071527 100%);
	border-image-slice: 1;
}
dl.lcBox dt {
	width:100%;
}
dl.lcBox dd {
	width:100%;
	color:#666666;
	line-height:180%;
	margin-top:20px;
}
dl.lcBox dt dl {
	width:100%;
	display:flex;
	justify-content: space-between;
}
dl.lcBox dt dl dt {
	width:53%;
}
dl.lcBox dt dl dt img {
	width:100%;
}

dl.lcBox dt dl dd {
	width:43%;
	align-self: flex-end;
}
dl.lcBox dt dl dd h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-size:2rem;
	font-weight:bold;
	color:#1d3d70;
	line-height:120%;
	padding-bottom:45px;
	
}
dl.lcBox dt dl dd .coDetail {
	display:flex;
	justify-content: space-between;
	margin:0 auto;
}
.coDetail table {
	width:48%;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: inherit;
}
.coDetail table tr {
	border-top:solid 2px #cfc146;
	border-bottom:solid 2px #cfc146;
	padding:5px 10px;
}
.coDetail table th,
.coDetail table td {
	padding:5px;
}
.coDetail table th {
	color:#999999;
	width:70px;
}

.coDetail table td {
	color:#9b934d;
	font-weight:bold;
	font-size:1rem;
}

.coDetail table td strong {
	color:#B30737
}

.coDetail table tr:first-child{
	border-bottom:none;
}

.coDetail table.keyPoint {
	width:48%;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: inherit;
}
.coDetail table.keyPoint tr {
	border-top:solid 2px #cfc146;
	border-bottom:solid 2px #cfc146;
	padding:5px 10px;
}
.coDetail table.keyPoint tr:first-child{
	border-bottom:none;
}

.coDetail table.keyPoint th,
.coDetail table.keyPoint td {
	width:100%;
	display:block;
}

.coDetail table.keyPoint td ul {
	display:flex;	
}
.coDetail table.keyPoint td ul li {
	display:inline;
	padding:0 10px;
	margin:0 5px 0 0;
	font-size:.7rem;
	font-weight:bold;
	color:#ffffff;
	border-radius:4px;
	text-align:center;
}
.coDetail table.keyPoint td ul li.pyramid {background:#45706a}
.coDetail table.keyPoint td ul li.philosophy {background:#807f4f}
.coDetail table.keyPoint td ul li.agreement {background:#865c53}
.coDetail table.keyPoint td ul li.vision {background:#606694}

dl.lcBox dd h4 {
	display:inline-block;
	padding:10px 0;
	margin:0 auto 20px;
	text-align:center;
	width:100%;
	font-family: "Noto Serif JP", serif;
	font-size:1.3rem;
	font-weight:bolder;
	color:#1d3d70;
	background:linear-gradient(90deg, #fdfcf3, #dac761, #e7d084, #ffffb0, #dac761, #fdfcf3);
	border-top: 2px solid #eac676;
	border-bottom: 2px solid #999999;	
	border-image: linear-gradient(to right, #fdfcf3 0%, #494949 10%, #666666 50%, #494949 80%, #fdfcf3 100%);
	border-image-slice: 1;	
}

@media screen and (max-width: 767px) {
	dl.lcBox dt dl {
		flex-direction: column;
	}
	dl.lcBox dt dl dt {
		width:100%;
	}
	dl.lcBox dt dl dd {
		width:100%;
	}
	dl.lcBox dt dl dd h3 {
		padding-bottom:20px;
	}
	dl.lcBox dd h4 {
		font-size:1.2rem;
	}
	.coDetail table th,
	.coDetail table td {
		font-size:.8rem;
	}
	.coDetail table.keyPoint td ul {
		flex-direction:column;		
	}
	.coDetail table.keyPoint td ul li {
		margin-bottom:10px;
	}
}
/* -------------------------------------------- smallCo */
.smallCo {
	width:1000px;
	margin:0 auto 40px;
	padding-bottom:40px;
}

.smallCo h2 {
	display:inline-block;
	padding:10px 0;
	margin:0 auto 40px;
	text-align:center;
	width:100%;
	background:linear-gradient(to right, rgb(18 39 61 / 100%), rgb(54 107 164 / 50%),rgb(43 77 192 / 50%),rgb(54 107 164 / 50%),rgb(18 39 61 / 100%));
	border-top: 2px solid #eac676;
	border-bottom: 2px solid #eac676;	
	border-image: linear-gradient(to right, #071527 0%, #f7e9b2 10%, #eac676 50%, #f7e9b2 80%, #071527 100%);
	border-image-slice: 1;	
}

.smallCo h2 span {	
	font-family: "Noto Serif JP", serif;
	font-size:3rem;
	font-weight:bold;	
	color: #e8cd77;
	background: linear-gradient(90deg, #EDAC06, #e7d084, #ffffb0,#EDAC06);
	background: -webkit-linear-gradient(0deg, #EDAC06, #e7d084, #ffffb0,#EDAC06);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}
@media screen and (max-width: 767px) {
	.smallCo {
		width:94%;
	}
	.smallCo h2 span {
		font-size:2rem;
	}
}
.smFrame {
	display:flex;	
	flex-wrap:wrap;
	width:100%;
	margin:0 auto 40px;	
	justify-content:flex-start;
}
.smFrame dl {
	width:31%;
	padding:20px;
	background-color:#ffffff;
	border: 3px solid #eac676;
	margin-bottom:20px;
	margin-right:3%;
	
}
.smFrame.archSmall dl {
	margin-right:15px;
	
}
.smFrame dl:nth-child(3n) {
	margin-right:0;
}

.smFrame dl dt {
	margin-bottom:20px;
}
.smFrame dl dt h6 {
	font-size:.8rem;
	color:#1d3d70;		
}
.smFrame dl dt h5 {
	font-size:.8rem;
	color:#1d3d70;
	font-weight:normal;
}
.smFrame dl dt h3 {
	font-size:1.4rem;
	font-weight:bold;
	color:#1d3d70;
}

.smFrame dl dt img {
	margin-top:10px;
	width:100%;
	
}

.smFrame dl dd {
}
.smFrame dl dd table {
	width:100%;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: inherit;
}
.smFrame dl dd table tr {
	border-top:solid 2px #ccc;
	border-bottom:solid 2px #ccc;
	padding:5px 10px;
}
.smFrame dl dd table th,
.smFrame dl dd table td {
	padding:5px;
	width:50%;
	text-align:center;
}

.smFrame dl dd table td:first-child {
	border-right:#cccccc 1px solid;
	position: relative;
}
/*
.smFrame dl dd table td:first-child p{
	position: absolute;
  top: 50%;
  transform : translateY(-50%);
	vertical-align:middle;
}*/

.smFrame dl dd table td:last-child {
	border:none;
}


.smFrame dl dd table td h4 {
	position: relative;
  padding: 0 15px;
	margin-bottom:5px;
}
.smFrame dl dd table td h4:before,
.smFrame dl dd table td h4:after {
	content:"\025c7";
	padding:0 5px 5px 5px;
}

.smFrame dl dd table td ul {
	display:flex;
	justify-content: center;
}
.smFrame dl dd table td ul li {
	padding:3px 10px;
	margin:0 8px 0 0;
	font-size:.8rem;
	font-weight:bold;
	color:#ffffff;
	border-radius:4px;
}
.smFrame dl dd table td ul li.pyramid {background:#45706a}
.smFrame dl dd table td ul li.philosophy {background:#807f4f}
.smFrame dl dd table td ul li.agreement {background:#865c53}
.smFrame dl dd table td ul li.vision {background:#606694}




@media screen and (max-width: 767px) {
	.smFrame {
		justify-content: space-between;
	}
	.smFrame dl {
		width:48%;
		padding:10px;
		margin-right:0;
	}
	.smFrame dl dt h3 {
		font-size:1.1rem;
	}
	.smFrame dl dd table th,
	.smFrame dl dd table td {
		padding:2px;
		font-size:.8rem;
	}
	
	.smFrame dl dd table td h4 {
		padding: 0 1px;
		font-size:.6rem;
	}
	.smFrame dl dd table td ul {
		flex-direction:column;
	}
	.smFrame dl dd table td ul li {
		font-size:.6rem;
		margin-bottom:10px;
	}
	
	.smFrame.archSmall dl {
		margin-right:0;
	}
}

.noteCorpInfo {
	text-align:center;
	margin:30px auto;
	font-size:1rem;
	font-weight:normal;
	color:#8a99ad;
}

/* -------------------------------------------- バナー */
.psBanner {
	width:1000px;
	margin:0 auto 40px;
	position:relative;
	display:block;
	height:auto;
}
.psBanner img{
  display:block;
  width:100%;
}
.psBanner:before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  z-index:2;
  background:#fff;/*好みの色に変えてください。*/
  opacity:0;
  transition:0.3s;
}
.psBanner:hover:before{
  opacity:0.2;
}

@media screen and (max-width: 767px){
	.psBanner {
		width:80%;
	}
}
/* -------------------------------------------- ジャンプリンク調整 */
#qualityCompany::before,#AC15::before {
	display: block;
    height: 7rem;
    margin-top: -7rem;
    content: "";
}

/* -------------------------------------------- Footer */	
footer {
	width:100%;
	height:250px;
	background-color:#ffffff; 
	text-align:center;
	overflow:hidden;
	margin-top:40px;
}
ul.fNav {
	display:flex;
	justify-content: center;
	width:300px;
	margin:0 auto;
	padding:0 0 10px 0;
}
ul.fNav li{
	
	margin:0 15px 0 0;
	color:#313131
	
}
ul.fNav li a{
	color:#313131;
		transition:.5s;
}
ul.fNav li a:hover{	
	color:#666666;
	border-bottom:solid 1px #666666;
	opacity:.5;
}
p {
	clear:both;
}

