@charset "utf-8";
/* CSS Document */
.wrapper.news_content{ padding: 30px 0 !important;}
@media screen and (max-width:640px){
.wrapper.news_content{ padding: 3% !important;}
}
#ac2018 *{ box-sizing: border-box !important;}
#ac2018 * img{max-width: 100%;}
#ac2018 a{ transition: 0.3s;}
#ac2018 a:hover{ opacity: 0.6;}
#ac2018 ul{ list-style: none; padding:0;}

#ac2018_catch{ margin-bottom: 40px;}
@media screen and (max-width:640px){
#ac2018_catch{ margin-bottom: 3%;}
}

#ac2018_nav{ margin: 0 auto;}
#ac2018_nav ul{ display: table; table-layout: fixed; width: 100%; list-style: none;}
#ac2018_nav ul li{ display: table-cell; vertical-align: middle; text-align: center;}
#ac2018_nav ul li a{ background: url("https://www.itgm.co.jp/recommended/wp-content/uploads/2018/09/nav_bg.jpg") center center; display: inline-block; width: 200px; padding: 10px; color: #f0d278; font-weight: bold; text-decoration: none; text-align: center; font-size: 20px; letter-spacing: 0.1em;}
@media screen and (max-width:640px){
#ac2018_nav{ margin: 3% auto;}
#ac2018_nav ul{ display:block; letter-spacing: -1em; text-align: center;}
#ac2018_nav ul li{ display:inline-block; letter-spacing: normal; width: 50%; padding: 1%;}
#ac2018_nav ul li a{ display: block; width: 100%; font-size: 4vw; padding: 4% 0;}
#ac2018_nav ul li:first-child{ width: 100%;}
#ac2018_nav ul li:first-child a{ padding: 2% 0;}
}

#ac2018 h2{ text-align: center; font-size: 36px; letter-spacing: 0.1em; font-weight: bold; margin-bottom: 20px; position: relative; padding: 0 0 10px;}
#ac2018 h2:after{ content: ""; width: 100%; height: 10px; position: absolute; left: 0; right: 0; bottom: 0; margin: auto; background:url("https://www.itgm.co.jp/recommended/wp-content/uploads/2018/09/tit_bar.png") center center;}
@media screen and (max-width:640px){
#ac2018 h2{ font-size:6vw; margin-bottom:3%; padding-bottom:1vw;}
#ac2018 h2:after{ height:1vw;}
}

#ac2018 section{ margin: 80px auto;}
#ac2018 section#ac2018_detail{ margin: 0 auto;}
#ac2018 .ac2018_txt{ background: #efefef; width: 1080px; margin: 20px auto; padding: 20px;}
#ac2018 .ac2018_txt p{ margin-bottom: 0;}
#ac2018 ul.ac2018_camp{ text-align: center; letter-spacing: -1em; margin: 40px auto;}
#ac2018 ul.ac2018_camp li{ display: inline-block; letter-spacing: normal; margin: 0 20px;}
@media screen and (max-width:640px){
#ac2018 section{ margin: 6% auto;}
#ac2018 .ac2018_txt{ width: 100%; margin: 3% auto; padding: 3%;}
#ac2018 .ac2018_txt p{ margin-bottom: 0; font-size: 3vw;}
#ac2018 ul.ac2018_camp{ display:block; margin:3% auto;}
#ac2018 ul.ac2018_camp li{ width: 47%; margin: 0 1.5%;}
}

#ac2018_link001 dl{ display: table; table-layout: fixed; width: 100%;}
#ac2018_link001 dl dt{ display: table-cell; vertical-align: middle; text-align: center; width: 480px;}
#ac2018_link001 dl dd{ display: table-cell; vertical-align: middle; position: relative;}
#ac2018_link001 dl dd p{ margin-bottom: 100px;}
#ac2018_link001 dl dd p:last-child{ margin-bottom: 0;}
#ac2018_link001 dl dd .logo{ position: absolute; right: 0; bottom: 0; margin: 0;}
#ac2018_link001 dl dt p{ margin-top: 1em;}
#ac2018_link001 dl dd figure{ text-align: right;}
#ac2018_link001 ul{ display: table; table-layout: fixed; width: 100%;}
#ac2018_link001 ul li{ display: table-cell; vertical-align: bottom; text-align: center;}
#ac2018_link001 ul li.arrow{ width: 100px; vertical-align: middle;}
#ac2018_link001 ul li p{ margin-top: 1em; display: inline-block;}
#ac2018_link001 .ac2018_content{ padding: 0 20px 40px; margin-bottom: 40px; border-bottom: 1px dotted #333; position: relative;}
#ac2018_link001 h3{ background:none; margin-bottom: 30px; padding: 0 0 0 70px; position: relative; letter-spacing: 0.1em; text-align: left;}
#ac2018_link001 h3 span{ position: absolute; left: 0; top: 0; padding:0;}
#ac2018_link001 h3 strong{ font-size: 28px; line-height: 1em; padding-top: 10px; display: block;}
#ac2018_link001 .ac2018_num{ position: absolute; right: 30px; top: 0; color: #c83232; font-weight: bold;}
#ac2018_link001 .ac2018_num strong{ font-size: 48px;}
@media screen and (max-width:640px){
#ac2018_link001 dl{ display:block;}
#ac2018_link001 dl dt{ display:block; width:100%; padding: 3%;}
#ac2018_link001 dl dd{ display:block;}
#ac2018_link001 dl dd p{ margin-bottom: 2em;}
#ac2018_link001 dl dd .logo{ position: static;}
#ac2018_link001 dl dd .logo img{ width: auto !important; max-width: 50%;}
#ac2018_link001 dl dd figure img{ width: 50%;}
#ac2018_link001 dl dd p{ font-size: 3vw;}

#ac2018_link001 ul{ display:block;}
#ac2018_link001 ul li{ display:block; text-align: center;}
#ac2018_link001 ul li.arrow{ width: 100%; margin: 3% auto;}
#ac2018_link001 ul li p{ font-size: 3vw; margin-top: 0.5em;}
#ac2018_link001 ul li img{ width: 66.6666%;}
#ac2018_link001 ul li.arrow img{ width: 20%;}

#ac2018_link001 .ac2018_content{ padding: 0 3% 6%; margin-bottom: 6%;}
#ac2018_link001 h3{ margin-bottom:0; padding-left:12vw; letter-spacing:0em; font-size: 3.5vw;}
#ac2018_link001 h3 span{ width: 10.5vw;}
#ac2018_link001 h3 strong{ font-size: 5vw; line-height: 1.2em; padding-top:0; word-break: break-all;}
#ac2018_link001 .ac2018_content:last-child h3{ padding: 0; margin-bottom:3%;}
#ac2018_link001 .ac2018_content:last-child h3 span{ position: static; width: 100%; display: block; text-align: center;}
#ac2018_link001 .ac2018_content:last-child h3 span img{ width: 50%;}
#ac2018_link001 .ac2018_num{ position:static; font-size: 3vw; text-align: right;}
#ac2018_link001 .ac2018_num strong{ font-size: 9vw;}
}

ul#sponsor_list{ letter-spacing: -1em; text-align: center;}
ul#sponsor_list li{ display: inline-block; letter-spacing: normal; margin: 1em; border: 1px solid #aaa; padding: 0.5em; text-align:center; width: calc(25% - 2em);}
@media screen and (max-width:640px){
ul#sponsor_list li{ margin: 1.5%; width: 47%; padding: 0.25em;}
}

p.notice{ font-size: 80%;}
.sup{ vertical-align: super; font-size: 50%; position: static !important; display: inline-block;}
.sub{ vertical-align: sub; font-size: 50%; position: static !important; display: inline-block;}

@media print, screen and (min-width:641px){
.smp{ display:none !important;}
}
@media screen and (max-width:640px){
.pc{ display:none !important;}
}