/* CSS Document */
/*
Theme Name: honolulumarathon
Theme URI: http://www.honolulumarathon.jp/test2018/
Description: honolulumarathon
Author: Yadokari
Author URI: https://www.yadokari.tv/
Template:
Version: 1.0
*/


@charset "UTF-8";

@import url(https://fonts.googleapis.com/css?family=Lato:400,700);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

body {
  font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.pconly{
  display: block;
}
.sponly, .sponlyBr{
	display:none;
}

/* ハンバーガー */
#navToggle {
	box-sizing: border-box;
	position: absolute;
	right: 16px;
	top: 30px;
	width: 62px;
	height: 62px;
	background-color: rgba(255,255,255,1);
	cursor: pointer;
	z-index: 400;
	opacity: 1;
}

#navToggle.trans {
	background-color: #FFF;
}

#navToggle span {
	border-radius: 0px;
	border-bottom: solid 4px #F5A623;
	position: absolute;
	width: 34px;
	left: 29%;
	top:11px;/*13px;*/
	transition: transform .3s ease-in-out,top .3s ease-in-out,opacity .3s ease-in-out;
}

#navToggle span:nth-child(2){
	top:22px;
}
#navToggle span:nth-child(3){
	top:33px;
}

.openNav #navToggle span:nth-of-type(1){
	top: 22px;
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	transform:rotate(-45deg)
}
.openNav #navToggle span:nth-of-type(2){
	-webkit-transform:translateX(100px);
	-moz-transform:translateX(100px);
	-ms-transform:translateX(100px);
	transform:translateX(100px);
	opacity:0;
}
.openNav #navToggle span:nth-of-type(3){
	top: 22px;
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
}





#mainV{
	/* background:url(images/dotbg.png),url(images/top_bg.jpg) no-repeat center top;
	background-size:auto, cover; */
	position:absolute;
	z-index:0;
	top:0;
	right:0;
	bottom:0;
	left:0;
	opacity:1;
}


#contents .mod-heading {
	margin-bottom: 1em;
	padding: 0;
	border: none;
	background: none;
	font-size: 115%;
	font-weight: bold
}
#contents .mod-heading span {
	display: block;
	font-size: 86%;
	font-weight: normal
}

.mod-left {
	text-align: left !important
}
.mod-center {
	text-align: center !important
}
.mod-right {
	text-align: right !important
}
.mod-fluend {
	max-width: 100%;
	height: auto
}
.mod-normal {
	font-weight: normal !important
}
.mod-label {
	display: inline-block;
	margin-left: 5px;
	padding: .25em .5em .1em;
	border: 1px solid #00a0e9;
	color: #00a0e9;
	font-size: 86%;
	font-weight: normal;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap
}
h3 .mod-label {
	font-size: 58%
}
.mod-release.category .mod-label {
	width: 63px;
	margin-left: 15px;
	padding: .25em 0 .1em
}
.mod-lead {
	margin-bottom: 25px
}
.mod-lead p {
	margin-bottom: 1em
}
.mod-list li {
	margin-bottom: 1em
}
.mod-inline-list li {
	margin-bottom: 1em
}
.mod-col2 .col2-a,
.mod-col2 .col2-b {
	padding-bottom: 25px;
	border-bottom: 1px solid #efefef
}
.mod-thumb {
	padding-bottom: 25px;
	border-bottom: 1px solid #efefef;
*zoom:1
}
.mod-thumb:after {
	content: "";
	display: table;
	clear: both
}
.mod-thumb figure {
	float: left
}
.mod-thumb figure img {
	width: 120px;
	height: auto
}
.mod-thumb figure figcaption {
	margin-top: 1em
}
.mod-thumb .txt {
	margin-left: 130px
}
#contents .mod-thumb .txt p {
	margin-bottom: 1em
}
#contents .mod-thumb .txt p:last-child {
	margin-bottom: 0
}
.mod-thumb.square {
	padding: 0 !important;
	border: none !important
}
.mod-thumb.square figure img {
	width: 90px
}
.mod-thumb.square .txt {
	margin-left: 100px
}
.mod-table {
	table-layout: fixed;
	width: 100%;
	margin-bottom: 25px;
	font-size: 86%
}
.mod-table th {
	background-color: #fcfcfc;
	font-weight: bold
}
.mod-table th,
.mod-table td {
	padding: 10px;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee
}
.mod-table tbody.block tr:first-child th,
.mod-table tbody.block tr:first-child td {
	border-top-width: 2px
}
.mod-table tbody th {
	width: 35%;
	text-align: left
}
.mod-table td table {
	width: auto;
	margin-bottom: 0
}
.mod-table td th,
.mod-table td td {
	padding: 0;
	border: none
}
.mod-table td th {
	width: 5em !important;
	background-color: #fff;
	vertical-align: top
}
.mod-table td td {
	padding-bottom: 1em
}
.mod-table td tr:last-child td {
	padding-bottom: 0
}
.mod-table .hide {
	display: none
}
.mod-dl-table dl {
	margin-bottom: 25px;
	border-bottom: 1px dotted #eee
}
.mod-dl-table dt {
	padding-bottom: 25px;
	font-weight: bold
}
.mod-dl-table dd {
	padding-bottom: 25px
}
.mod-release {
	position: relative
}
.mod-release dl {
	padding-bottom: 25px;
	border-top: 1px dotted #eee;
}
.mod-release dl:first-of-type {
	padding-top: 25px;
  border-top-width: 2px;
}
.mod-release dt {
	display: inline-block;
	margin-bottom: 10px;
	font-weight: bold
}
.mod-release .btn {
	position: absolute;
	top: 20px;
	right: 20px;
	margin-bottom: 0 !important
}
.mod-year-nav {
	margin-bottom: 25px;
	padding: 10px;
	border: 1px solid #eee;
*zoom:1
}
.mod-year-nav:after {
	content: "";
	display: table;
	clear: both
}
.mod-year-nav li {
	float: left;
	margin: 5px 0;
	padding: 0 15px;
	border-right: 1px solid #d0d0d0;
	line-height: 1.1
}
.mod-year-nav li:last-child {
	border-right: none
}
.mod-aside {
	margin-bottom: 25px;
	padding-top: 25px;
	border-top: 1px solid #eee
}
.mod-aside dt {
	margin-bottom: 20px;
	padding-bottom: 5px;
	font-size: 115%;
	font-weight: bold
}
.mod-aside dd {
	margin-bottom: 1em
}
.mod-aside .btn {
	text-align: center
}
.mod-local-nav {
	margin: 25px 0;
	border: 1px solid #eee
}
.mod-local-nav dt {
	border-bottom: 1px solid #eee;
	font-size: 115%;
	font-weight: bold
}
.mod-local-nav dt a {
	display: block;
	padding: 15px 15px 15px 45px;
	background-position: 15px 50%;
	color: #333
}
.mod-local-nav li {
	border-bottom: 1px solid #eee
}
.mod-local-nav li:last-child {
	border-bottom: none
}
.mod-local-nav li a {
	display: block;
	padding: 15px
}
a.mod-btn,
a.mod-btn-mini,
input.mod-btn,
input.mod-btn-mini {
	display: inline-block;
	padding: 25px 45px;
	border: none;
	border-radius: 0;
	background-color: #00a0e9;
	color: #fff !important;
	font-size: 115%;
	white-space: nowrap;
	-webkit-appearance: none;
	appearance: none
}
a.mod-btn:focus,
a.mod-btn:hover,
a.mod-btn:active,
a.mod-btn-mini:focus,
a.mod-btn-mini:hover,
a.mod-btn-mini:active,
input.mod-btn:focus,
input.mod-btn:hover,
input.mod-btn:active,
input.mod-btn-mini:focus,
input.mod-btn-mini:hover,
input.mod-btn-mini:active {
	background-color: #4cbcf0;
	text-decoration: none
}
a.mod-btn:disabled,
a.mod-btn.disabled,
a.mod-btn-mini:disabled,
a.mod-btn-mini.disabled,
input.mod-btn:disabled,
input.mod-btn.disabled,
input.mod-btn-mini:disabled,
input.mod-btn-mini.disabled {
	background-color: #ced2d4
}
a.mod-btn-mini,
input.mod-btn-mini {
	padding: 5px 10px;
	font-size: 86%
}
.mod-scroll-box {
	height: 140px;
	margin-bottom: 50px;
	padding: 15px;
	border: 1px solid #cfcfcf;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch
}
@media screen and (min-width: 768px), print {
#contents .mod-heading {
	font-size: 143%
}
#contents .mod-heading span {
	display: inline;
	margin-left: .5em;
	font-size: 72%
}
h3 .mod-label {
	font-size: 50%
}
.mod-release.category .mod-label {
	float: left;
	margin-left: 30px
}
.mod-lead {
	margin-bottom: 50px
}
.mod-inline-list li {
	display: inline;
	margin: 0 1.5em 0 0
}
.mod-col2 {
*zoom:1
}
.mod-col2:after {
	content: "";
	display: table;
	clear: both
}
.mod-col2 .col2-a,
.mod-col2 .col2-b {
	width: 47%;
	padding-bottom: 0;
	border-bottom: none
}
.mod-col2 .col2-a {
	float: left
}
.mod-col2 .col2-b {
	float: right
}
.mod-thumb {
	padding-bottom: 0;
	border-bottom: none
}
.mod-thumb figure {
	max-width: 34.3%;
	margin-bottom: 0 !important
}
.mod-thumb figure img {
	width: 100% !important
}
.mod-thumb .txt {
	margin-left: 37.3%
}
.mod-thumb.square figure {
	max-width: 38.297%
}
.mod-thumb.square .txt {
	margin-left: 42.553%
}
.mod-table {
	margin-bottom: 50px;
	font-size: 100%
}
.mod-table th,
.mod-table td {
	padding: 20px
}
.mod-table tbody th {
	width: 140px
}
.mod-table .hide {
	display: table-cell;
*display:block
}
.mod-dl-table {
	margin-bottom: 50px
}
.mod-dl-table dl {
	display: table;
	width: 100%
}
.mod-dl-table dt {
	display: table-cell;
	width: 22%;
	font-weight: normal;
	vertical-align: middle;
*float:left
}
.mod-dl-table dd {
	display: table-cell;
	width: 78%;
*width:auto;
*margin-left:245px
}
.mod-dl-table dd .input-txt.w-long,
.mod-dl-table dd textarea.w-long {
	width: 60%
}
.mod-release {
	margin-bottom: 50px
}
.mod-release dl {
	padding-bottom: 0;
}
.mod-release dl:first-of-type {
	margin-top: 0;
	padding-top: 0;
}
.mod-release dt {
	float: left;
	width: 40px
}
.mod-release dd {
	margin-left: 75px
}
.mod-release.category dd {
	margin-left: 161px
}
.mod-release.category .icon {
	float: left;
	margin-left: 30px
}
.mod-year-nav {
	margin-bottom: 50px;
	border-width: 2px
}
.mod-year-nav li {
	padding: 0 25px
}
.mod-aside {
	display: table;
	width: 100%;
	padding-top: 50px;
*zoom:1
}
.mod-aside dl {
	display: table-cell;
*float:left
}
.mod-aside dt {
	font-size: 143%
}
.mod-aside .btn {
	display: table-cell;
	text-align: right;
	vertical-align: middle;
*float:right
}
.mod-local-nav {
	margin: 50px 0;
	padding: 0 20px 20px
}
.mod-local-nav dt {
	padding: 15px 0
}
.mod-local-nav dt a {
	display: inline-block;
	padding: 0 0 0 30px;
	background-position: 0 50%
}
.mod-local-nav ul {
*zoom:1
}
.mod-local-nav ul:after {
	content: "";
	display: table;
	clear: both
}
.mod-local-nav li {
	float: left;
	width: 25%;
	margin-top: 1em;
	border-bottom: none
}
.mod-local-nav li:nth-child(4n+1) {
	clear: both
}
.mod-local-nav li a {
	display: inline-block;
	padding: 0 1em 0 0
}
a.mod-btn,
a.mod-btn-mini,
input.mod-btn,
input.mod-btn-mini,
.btn a {
	-moz-transition: background-color 0.6s ease;
	-o-transition: background-color 0.6s ease;
	-webkit-transition: background-color 0.6s ease;
	transition: background-color 0.6s ease
}
.mod-scroll-box {
	padding: 25px 30px
}
}
html,
body {
	height: 100%
}
/*0228Konishi
body {
	color: #333;
	font-family: CenturyGothic-Bold, "CenturyGothicStd", "Century Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Sans-Serif;
	font-size: 14px;
	line-height: 1.5
}
*/
a {
	color: #FEC72B;
	text-decoration: none
}
img {
	vertical-align: bottom
}
img.full {
	width: 100%;
	max-width: 100%;
	height: auto
}
em {
	font-style: normal;
	font-weight: bold
}
input,
textarea {
	font-family: CenturyGothic-Bold, "CenturyGothicStd", "Century Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Sans-Serif;
	font-size: 100%;
	outline: none
}
.input-txt,
textarea {
	padding: 7px;
	border: 1px solid #cfcfcf;
	border-radius: 0;
	vertical-align: middle;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none
}
.input-txt.w-long,
textarea.w-long {
	width: 100%
}
.input-txt.rows {
	margin-top: 10px
}
.input-txt.error,
textarea.error {
	border: 1px solid #e99c9c;
	background-color: #fff5f5
}
.txt-error {
	color: #d20000
}
.input-txt.error+.txt-error,
textarea.error+.txt-error {
	margin-top: 5px
}
pre {
	font-family: CenturyGothic-Bold, "CenturyGothicStd", "Century Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Sans-Serif;
	font-size: 100%;
	white-space: -moz-pre-wrap;
	white-space: -pre-wrap;
	white-space: -o-pre-wrap;
	white-space: pre-wrap;
	word-wrap: break-word
}


.activehead{
	background-color:#f5a623;
	
	
}

#global-nav-switch {
	float: right;
}
#global-nav {
	clear: both;
	position: absolute;
	top: 50px;
	left: 0;
	width: 100%;
	height: 0;
	background-color: rgba(0,160,233,0.95);
	background-color: #00a0e9 \9;
	opacity: 0;
	overflow: hidden;
	z-index: 1
}
#global-nav ul {
	border-bottom: 1px solid #999
}
#global-nav li {
	border-top: 1px solid #999;
}
#global-nav li a {
	display: block;
	padding: 15px;
	color: #333;
}
#global-nav li a:focus,
#global-nav li a:hover,
#global-nav li a:active,
#global-nav li a.active {
	background-color: #FFC92B
}
#global-nav ul {
	-moz-transform: translate3d(0, -400px, 0);
	-webkit-transform: translate3d(0, -400px, 0)
}
header.in #global-nav {
	opacity: 1;
	-moz-animation: fadeIn .5s ease;
	-webkit-animation: fadeIn .5s ease
}
header.in #global-nav ul {
	-moz-transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-moz-animation: slideDown 1s ease;
	-webkit-animation: slideDown 1s ease
}
header.out #global-nav {
	opacity: 0;
	visibility: hidden;
	-moz-animation: fadeOut .8s ease-out;
	-webkit-animation: fadeOut .8s ease-out
}
header.out #global-nav ul {
	-moz-transform: translate3d(0, -400px, 0);
	-webkit-transform: translate3d(0, -400px, 0);
	-moz-animation: slideUp .8s ease;
	-webkit-animation: slideUp .8s ease
}
@-webkit-keyframes fadeIn {
0% {
opacity:0
}
99.9%, to {
opacity:1
}
}
@-webkit-keyframes fadeOut {
0% {
opacity:1;
visibility:visible
}
99.9%, to {
opacity:0;
visibility:hidden
}
}
@-webkit-keyframes slideDown {
0% {
-webkit-transform:translate3d(0, -400px, 0)
}
99.9%, to {
-webkit-transform:translate3d(0, 0, 0)
}
}
@-webkit-keyframes slideUp {
0% {
-webkit-transform:translate3d(0, 0, 0)
}
99.9%, to {
-webkit-transform:translate3d(0, -400px, 0)
}
}
@-moz-keyframes fadeIn {
0% {
opacity:0
}
99.9%, to {
opacity:1
}
}
@-moz-keyframes fadeOut {
0% {
opacity:1;
visibility:visible
}
99.9%, to {
opacity:0;
visibility:hidden
}
}
@-moz-keyframes slideDown {
0% {
-moz-transform:translate3d(0, -400px, 0)
}
99.9%, to {
-moz-transform:translate3d(0, 0, 0)
}
}
@-moz-keyframes slideUp {
0% {
-moz-transform:translate3d(0, 0, 0)
}
99.9%, to {
-moz-transform:translate3d(0, -400px, 0)
}
}
#contents {
/*	padding: 25px 15px 0*/
}
#contents h1 {
	margin-bottom: 25px;
	color: #00a0e9;
	font-size: 158%;
	font-weight: bold
}
#contents h1 span {
	float: left\9
}
#contents section {
	margin-bottom: 25px
}
#contents section h2 {
	margin-bottom: 25px;
	padding: 5px 0 5px 15px;
	border-left: 4px solid #00a0e9;
	font-size: 143%;
	font-weight: bold
}
#contents section h3 {
	margin-bottom: 15px;
	padding-bottom: 0px;
	
	font-size: 129%;
	font-weight: bold
}
#contents section h4 {
	margin-bottom: 25px;
	font-size: 129%;
	font-weight: bold
}
/*0302Konishi

#contents section>p,
#contents section>figure {
	margin-bottom: 2em;
	line-height: 1.8;
}
 */
#contents section>p:last-child {
	margin-bottom: 0
}
#contents>p,
#contents>figure {
	margin-bottom: 2em
}
#contents .sns {
	margin: 70px 15px 30px;
*zoom:1
}
#contents .sns:after {
	content: "";
	display: table;
	clear: both
}
#contents .sns li {
	float: left;
	margin-right: 10px
}
#main-visual {
	margin: 0 -15px 25px
}
#gmap {
	width: 100%;
	height: 320px
}
footer {
	background-color: #fff
}
footer #page-top {
	display: none
}
footer .topic-path {
	display: none
}
footer .nav {
	border-top: 1px solid #efefef
}
footer .nav h2 {
	font-weight: bold
}
footer .nav h2 a {
	display: block;
	padding: 15px 20px
}
footer .nav li {
	border-top: 1px solid #efefef
}
footer .nav li a {
	display: block;
	padding: 15px 20px 15px 30px;
	
	color: #333 !important
}
footer .bnr {
	padding-top: 30px;
	border-top: 1px solid #efefef
}
footer .bnr ul {
	width: 275px;
	margin: 0 auto
}
footer .bnr li {
	margin-bottom: 25px;
	font-size: 86%
}
footer .bnr li img {
	margin-bottom: 10px
}
footer .bnr li a {
	color: #333;
	font-weight: bold
}
footer .btm-nav {
	padding: 20px 10px 10px;
	border-top: 1px solid #efefef;
	background-color: #fcfcfc
}
footer .btm-nav ul {
	margin-bottom: 15px;
	font-size: 86%;
*zoom:1
}
footer .btm-nav ul:after {
	content: "";
	display: table;
	clear: both
}
footer .btm-nav ul:last-child {
	margin-bottom: 0
}
footer .btm-nav li {
	float: left;
	width: 50%
}
footer .btm-nav li a {
	color: #333 !important
}
footer .btm-nav .services {
	display: none
}
footer .btm-nav .services a {
	padding-right: 20px;

}
footer .copy {
	padding: 10px;
	font-size: 86%;
	text-align: center
}
#contents .service-capture img {
	width: 100%;
	margin-bottom: 15px
}
#contents .service-effect dl {
	margin-bottom: 25px;
	padding-bottom: 25px;
	border-bottom: 1px solid #eee
}
#contents .service-effect dl:before {
	display: block;
	width: 120px;
	height: 117px;
	margin: 0 auto 25px;
	content: ''
}
#contents .service-effect dl.item1:before {
	background-position: 11px 0
}
#contents .service-effect dl.item2:before {
	background-position: -360px 0
}
#contents .service-effect dl.item3:before {
	background-position: -739px 0
}
#contents .service-effect dl dt {
	margin-bottom: 1em;
	font-size: 129%;
	font-weight: bold;
	text-align: center
}
#contents .company-board dl {
	margin-bottom: 25px;
	padding-bottom: 25px;
	border-bottom: 1px solid #efefef
}
#contents .company-board dt {
	margin-bottom: 20px
}
#contents .company-board dt em {
	font-size: 143%
}
#contents .company-board dt span {
	font-size: 86%
}
#contents .company-board dd+dd {
	margin-top: 1em
}
#contents .company-privacy dt {
	margin-bottom: .5em
}
#contents .company-privacy dd+dt {
	margin-top: 2em
}
#contents .company-privacy dl.num dd dl {
	margin-top: 1em
}
#contents .company-logo {
	margin-top: 75px;
	text-align: center
}
#contents .company-logo section {
	margin-top: 75px
}
#contents .company-logo h2 {
	padding: 0 0 30px 0;
	border-bottom: 1px solid #f3f3f3;
	border-left: none
}
#contents .company-logo h3 {
	margin-bottom: 25px;
	padding-bottom: 15px;
	background: none;
	color: #00a0e9;
	font-size: 115%
}
#contents .company-logo p {
	color: #7a7a7a;
	line-height: 1.7
}
#contents .ir-faq-list dl {
	border-bottom: 1px solid #efefef
}
#contents .ir-faq-list dt {
	padding: 30px 20px 30px 50px;
	
	font-size: 115%;
	font-weight: bold;
	cursor: pointer
}
#contents .ir-faq-list dt.in,
#contents .ir-faq-list dt:hover {
	background-color: #fbfbfb
}
#contents .ir-faq-list dt span {
	display: block;
	padding-right: 20px;
	
}
#contents .ir-faq-list dt.in span {
	
}
#contents .ir-faq-list dd {
	padding: 25px 10px 30px
}
#contents .csr-message-thumb figure {
	margin-bottom: 20px
}
#contents .csr-message-thumb figure img {
	width: 181.53846px;
	height: auto
}
#contents .csr-message-thumb figure figcaption {
	margin-top: 1em
}
#contents .csr-message-thumb .txt p {
	margin-bottom: 1em
}
#contents .csr-message-thumb .txt p:last-child {
	margin-bottom: 0
}
#contents .csr-col3 li {
	margin-bottom: 25px;
	text-align: center
}
#contents .sitemap-list .col2-a,
#contents .sitemap-list .col2-b {
	padding-bottom: 0;
	border-bottom: none
}
#contents .sitemap-list section p {
	font-weight: bold
}
#contents .sitemap-list section ul {
	margin: 30px 0 0 30px
}
#contents .sitemap-list section li {
	margin-top: 20px
}
#contents .sitemap-list section li li:before {
	margin-right: 10px;
	color: #00a0e9;
	content: '-'
}
@media screen and (min-width: 768px), print {
a {
	cursor: pointer
}
a:hover {
	text-decoration: underline
}
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="radio"],
input[type="checkbox"],
label,
button {
	cursor: pointer
}
*[class*="disabled"],
*:disabled {
	cursor: default !important
}

#global-nav-switch {
	display: none
}
#global-nav {
	position: static;
	height: auto;
	margin-left: -1px;
	background-color: inherit;
	opacity: 1
}
#global-nav ul {
	-moz-transform: none;
	-webkit-transform: none
}
#global-nav li a {
	-moz-transition: background-color 0.6s ease;
	-o-transition: background-color 0.6s ease;
	-webkit-transition: background-color 0.6s ease;
	transition: background-color 0.6s ease
}
#global-nav li a:hover {
	text-decoration: none
}


#main-visual {
	margin: 0 0 70px
}
#main-visual img {
	width: 100%
}
#gmap {
	height: 600px
}
footer {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%
}
/*footer .inner {
	margin-left: 216px
}*/
footer #page-top {
	display: block;
	margin: 0 20px -1px 0;
	text-align: right;
*position:relative
}
footer #page-top img {
	cursor: pointer
}
footer .topic-path {
	display: block;
	padding: 15px 20px;
	border-top: 1px solid #efefef;
	font-size: 86%;
*zoom:1
}
footer .topic-path:after {
	content: "";
	display: table;
	clear: both
}
footer .topic-path li {
	float: left;
	margin-right: 10px
}
footer .topic-path li a {
	padding-right: 15px;
	
}
footer .nav {
	padding: 40px 20px
}
footer .nav h2 {
	font-size: 115%
}
footer .nav h2 a {
	display: inline;
	padding: 0
}
footer .nav ul {
	max-width: 960px;
*zoom:1
}
footer .nav ul:after {
	content: "";
	display: table;
	clear: both
}
footer .nav li {
	float: left;
	width: 25%;
	margin-top: 1em;
	border-top: none
}
footer .nav li a {
	display: inline;
	padding: 0;
	background: none
}
footer .bnr {
	width: auto;
	margin: 0;
	padding: 30px 20px
}
footer .bnr ul {
	width: auto;
	max-width: 960px;
	margin: 0;
*zoom:1
}
footer .bnr ul:after {
	content: "";
	display: table;
	clear: both
}
footer .bnr li {
	float: left;
	width: 26.458%;
	margin: 0 6.25% 0 0
}
footer .bnr li:last-child {
	margin-right: 0
}
footer .bnr li img {
	width: 100%;
	height: auto
}
footer .btm-nav {
	padding: 20px 20px 10px
}
footer .btm-nav ul {
	max-width: 960px
}
footer .btm-nav li {
	width: auto;
	margin-right: 2em
}
footer .btm-nav .services {
	display: block
}
footer .btm-nav p {
	text-align: center
}
footer .copy {
	background-color: #fcfcfc
}
#contents .service-capture {
*zoom:1
}
#contents .service-capture:after {
	content: "";
	display: table;
	clear: both
}
#contents .service-capture img {
	max-width: 49.2%;
	width: auto\9 !important;
	margin-bottom: 0
}
#contents .service-capture img.col-a {
	float: left
}
#contents .service-capture img.col-b {
	float: right
}
#contents .service-effect {
*zoom:1
}
#contents .service-effect:after {
	content: "";
	display: table;
	clear: both
}
#contents .service-effect dl {
	float: left;
	width: 33.3%;
	padding-top: 260px;
	border-bottom: none;
	
}
#contents .service-effect dl:before {
	display: none
}
#contents .service-effect dl.item1 {
	background-position: 110px 50px
}
#contents .service-effect dl.item2 {
	background-position: -255px 50px
}
#contents .service-effect dl.item3 {
	background-position: -640px 50px
}
#contents .service-effect dl dt {
	margin-bottom: 1em;
	font-size: 129%;
	font-weight: bold;
	text-align: center
}
#contents .service-effect dl dd {
	padding: 0 15.01%
}
#contents .company-privacy dl.num dd {
	margin-left: 2.55em
}
#contents .company-privacy dl.num dd dd {
	margin-left: 0
}
#contents .company-logo {
	margin-top: 150px
}
#contents .company-logo section {
	margin-top: 100px
}
#contents .company-logo h2 {
	padding-bottom: 50px
}
#contents .csr-message-thumb {
*zoom:1
}
#contents .csr-message-thumb:after {
	content: "";
	display: table;
	clear: both
}
#contents .csr-message-thumb figure {
	float: left;
	width: 23.6%;
	margin-bottom: 0
}
#contents .csr-message-thumb figure img {
	width: 100%
}
#contents .csr-message-thumb .txt {
	margin-left: 26.6%
}
#contents .csr-col3 {
	margin-right: -2%;
*zoom:1
}
#contents .csr-col3:after {
	content: "";
	display: table;
	clear: both
}
#contents .csr-col3 li {
	float: left;
	width: 31.33%;
	margin-right: 2%
}
}
@media print {
header,
#sub-nav,
#contents .sns,
footer {
	display: none
}
#contents {
	padding: 0
}
}
#contents h1 {
/*
	width: 290px;
	margin: 0 auto 25px;
	padding-top: 282px;
	background-image: url(/img/front/home/img_main.png);
	background-position: -254px 0;
	display: block;
	height: 0;
	background-repeat: no-repeat;
	overflow: hidden;
	-moz-background-size: 540px, auto;
	-o-background-size: 540px, auto;
	-webkit-background-size: 540px, auto;
	background-size: 540px, auto;
	text-align: center;
	background: url(/img/front/home/ie/img_main.png) 0 0\9
*/
}
#contents section h2 {
	padding: 0;
	border-left: none;
}
#contents #top-release section h2 {
  margin-bottom: 0;
  padding: 15px 20px;
}
#contents #top-release .mod-release {
	padding-bottom: 0;
	border-bottom: none;
}
#contents #top-release .mod-release dl {
  padding: 15px 20px;
}
#contents #introduction {
	position: relative;
	margin: 40px 0;
	border-bottom: 1px solid #f2f2f2;
	text-align: center
}
#contents #introduction .content {
	padding: 30px 0 50px;
	border-top: 1px solid #f2f2f2
}
#contents #introduction .content p {
	margin-top: 15px
}
#contents #introduction .content p span {
	display: block
}
#contents #introduction .btn {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 31px;
	margin: 0 0 -15px -15px
}
#contents #introduction .btn img {
	display: block;
	width: 100%;
	height: auto
}
#contents #visual section {
	padding-top: 25px;
	border-top: 1px solid #efefef
}
#contents #visual section:last-of-type {
	padding-bottom: 25px;
	border-bottom: 1px solid #efefef
}
#contents #visual section h2 {
	font-size: 186%
}
#contents #visual section p {
	margin-bottom: 1em
}
#contents #visual section .pct img {
	width: 100%;
	height: auto
}
@media screen and (min-width: 768px), print {
#contents h1 {
	width: auto;
	max-width: 100%;
	height: auto;
/*	margin-bottom: 100px;*/
	padding-top: 0;
	background: none
}
#contents h1 img {
	width: 100%
}
#contents section h2 {
	padding-left: 0\9 !important;
/*	font-size: 215%;*/
*zoom:1
}
#contents section h2:after {
	content: "";
	display: table;
	clear: both
}
#contents section h2 span {
	float: left\9
}
#contents #top-release .mod-release {
	float: none;
	width: auto;
	margin-bottom: 15px
}
#contents #top-release .mod-release dd {
/*	min-height: 40px;*/
	margin-left: 60px
}
#contents #introduction {
	margin: 81px 0 180px;
*height:100%
}
#contents #introduction .content {
	padding: 60px 0 100px
}
#contents #introduction .content p {
	margin-top: 30px
}
#contents #introduction .content p span {
	display: inline
}
#contents #introduction .btn {
	margin: 0 0 -31px -31px;
	cursor: pointer;
	-moz-transition: opacity 0.8s ease;
	-o-transition: opacity 0.8s ease;
	-webkit-transition: opacity 0.8s ease;
	transition: opacity 0.8s ease
}
#contents #introduction .btn:hover {
	opacity: .8
}
#contents #introduction .btn img {
	width: auto
}
#contents #visual section {
	position: relative;
	padding: 0;
	border: none !important;
*zoom:1
}
#contents #visual section:after {
	content: "";
	display: table;
	clear: both
}
#contents #visual section:last-of-type {
	padding-bottom: 0
}
#contents #visual section .txt {
	float: left;
	width: 35%;
	padding-top: 16%
}
#contents #visual section h2 {
	min-height: 45px;
	margin-bottom: 30px
}
#contents #visual section .pct {
	float: right;
	width: 62.4%
}
#contents #visual section .pct img {
	vertical-align: bottom
}
#contents #visual section.even .txt {
	float: right
}
#contents #visual section.even .pct {
	float: left
}
}
#contents #top-release .col2-a,
#contents #top-release .col2-b {
  background: #FFF;
}
#contents #top-release .col2-a {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px), print {
	/*0228Konishi
#contents #top-release {
  display: table;
  width: 100%;
  border-collapse: separate;
}
	*/
#contents #visual section h2 {
	font-size: 286%
}
}

/*-----------------------
Added: March 2016
-------------------------*/
#contents .keyv {
  width: 100%;
  /*height: 430px;*/
  position: relative;
  text-align: center;
  background: #000;
}
#contents .keyv .logo {
  position: absolute;
  display: none;
  opacity: 0;
}
#contents .keyv .lead {
  padding-top: 88px;
}
#contents .keyv .lead h1 {
  color: #FFF;
  width: auto;
  height: auto;
  margin-bottom: 25px;
  padding: 0;
  font-family: CenturyGothic-Bold, "CenturyGothicStd", "Century Gothic", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Sans-Serif;
  font-size: 26px;
  line-height: 1.3;
  background: none;
}
#contents .keyv .lead h1 span {
  display: inline-block;
}
#contents .keyv .lead p {
  color: #FFF;
  margin-bottom: 25px;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: 2.3px;
}
#contents .keyv .btn a {
  color: #FFF;
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  line-height: 50px;
  letter-spacing: 1.4px;
  text-decoration: none;
  border: solid 2px #FFF;
}
#contents .keyv .btn a:hover {
  color: #252525;
  background: #FFF;
}
#contents img {
/*
  max-width: 100%;
  height: auto;
*/
}

/*0228Konishi
#contents .innerContent {
  margin: 0 auto;
	padding: 10px;
}
*/
#contents .companySection .innerContent {
  margin-bottom: 50px;
}
/*0228Konishi
#contents .newsSection {
  background: #F5F5F5;
}
*/
#contents .innerContent section {
  margin-bottom: 0;
}
/*0228Konishi*/
.newsSection dl{
  overflow: hidden;
	margin: 45px 0px!important;
	border-bottom: 1px dotted #eee
}

/*0228Konishi*/
.newsSection dt{
	float:left;
	margin-right:20px;

}





/*----*/
#contents .companySection section {
  position: relative;
  margin-top: 10px;
  padding-top: 67%;
  background: no-repeat 100% 50%;
  -webkit-background-size: cover;
  background-size: cover;
	-moz-transition: opacity 0.6s ease;
	-o-transition: opacity 0.6s ease;
	-webkit-transition: opacity 0.6s ease;
	transition: opacity 0.6s ease
}
#contents .companySection section:hover {
  opacity: 0.65;
}
#contents .companySection section:first-of-type {
  margin-top: 0;
}
#contents .companySection section.message {
  
}
#contents .companySection section.sense {
  color: #FFF;
  
}
#contents .companySection section.logoStory {
  
}
#contents .companySection section h1 {
  color: inherit;
  position: absolute;
  top: 43%;
  top: calc(50% - 1em);
  left: 20px;
  font-size: 143%;
  font-weight: bold;
}
#contents .companySection section h1 span {
  display: block;
  font-size: 60%;
  font-weight: normal;
}
#contents .companySection section a {
  color: inherit;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-decoration: none;
}
/*----*/
#contents .serviceSection {
  
}
@media all and (-ms-high-contrast: none) {
#contents .serviceSection {
  
  background-repeat: repeat, no-repeat;
  background-position: 50% 50%, 50% 50%;
  background-size: auto, cover;
}
}
#contents .serviceSection .innerContent,
#contents .recruitSection .innerContent {
  padding: 0;
}
#contents .serviceSection section,
#contents .recruitSection section {
  padding: 45px 25px;
}
#contents .serviceSection h1,
#contents .recruitSection h1 {
  color: inherit;
  font-size: 273%;
}
#contents .serviceSection h1 span,
#contents .recruitSection h1 span {
  display: block;
  margin-bottom: 10px;
  font-size: 40%;
  font-weight: normal;
}
#contents .serviceSection h2,
#contents .recruitSection h2 {
  margin-bottom: 25px;
  font-size: 140%;
}
#contents .serviceSection .btn a,
#contents .recruitSection .btn a {
  color: #FFF;
  display: block;
  padding: 10px 0;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  background: #00A0E9;
}
/*----*/
#contents .recruitSection {
  
}
@media all and (-ms-high-contrast: none) {
#contents .recruitSection {
  
}
}
/*----*/
#contents .irSection section,
#contents .csrSection section {
  padding: 45px 15px;
}
#contents .irSection h1,
#contents .csrSection h1 {
  color: inherit;
  margin-bottom: 15px;
  font-size: 273%;
  line-height: 1.3;
}
#contents .irSection h1 span,
#contents .csrSection h1 span {
  display: block;
  margin-bottom: 10px;
  font-size: 40%;
  font-weight: normal;
}
#contents .irSection h1 + h2,
#contents .csrSection h1 + h2 {
  font-weight: normal;
}
#contents .irSection section .image,
#contents .irSection section .txt,
#contents .csrSection section .image,
#contents .csrSection section .txt {
  margin-bottom: 10px;
}
#contents .irSection section .txt,
#contents .csrSection section .txt {
  font-size: 120%;
  font-weight: bold;
}
#contents .irSection section .txt span,
#contents .csrSection section .txt span {
  display: block;
  padding-left: 24px;
  font-size: 70%;
  font-weight: normal;
}
/*----*/
.iconArrow01 {
  color: inherit;
}
.iconArrow01:before {
  color: #FFF;
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  margin-bottom: 0.2em;
  font-size: 10px;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #FFF;
  
  background-size: 4px 6px;
}
@media screen and (min-width: 768px), print {
  #contents .keyv {
    /*height: 720px;*/
    background: #FFF;
  }
  #contents .keyv .logo {
    top: 50%;
    left: 50%;
    display: block;
    width: 90px;
    margin-top: -82px;
    margin-left: -45px;
  }
  #contents .keyv .logo img {
    max-width: 100%;
    height: auto;
  }
  #contents .keyv .lead {
    padding-top: 290px;
  }
  #contents .keyv .lead h1 {
    margin-bottom: 25px;
    font-size: 40px;
    line-height: 1.3;
    letter-spacing: 5px;
  }
  #contents .keyv .lead p {
    color: #FFF;
    margin-bottom: 45px;
    font-size: 22px;
    line-height: 1.3;
    letter-spacing: 2.3px;
  }
  #contents .keyv .btn a {
    color: #FFF;
    display: inline-block;
    font-size: 14px;
    line-height: 50px;
    letter-spacing: 1.4px;
    text-decoration: none;
    border: solid 2px #FFF;
  }
	/*0228Konishi
  #contents .innerContent {
    max-width: 1000px;
    padding: 80px 31px !important;
  }
*/
  #contents .innerContent:after {
    display:block;
    clear:both;
    content:"";
  }
  #contents .companySection .innerContent {
    margin-bottom: 0;
  }
  /*----*/
  #contents .irSection section,
  #contents .csrSection section {
    padding: 0;
  }
  #contents .irSection section ul:after,
  #contents .csrSection section ul:after {
    display:block;
    clear:both;
    content:"";
  }
  #contents .irSection section li,
  #contents .csrSection section li {
    float: left;
  	width: 49%;
    padding-left: 1%;
  }
  #contents .irSection section li:first-child,
  #contents .csrSection section li:first-child {
    padding-right: 1%;
    padding-left: 0;
  }
  #contents .irSection section .txt,
  #contents .csrSection section .txt {
    font-size: 143%;
  }
  #contents .irSection section .txt span,
  #contents .csrSection section .txt span {
    display: inline-block;
    padding-left: 20px;
  }
  #contents .irSection section .image,
  #contents .csrSection section .image {
    margin-bottom: 25px;
  }
}

@media screen and (min-width: 1024px), print {
.mod-release .btn {

	right: 40px;
}
#contents #top-release section h2 {
  margin-bottom: 20px;
  padding: 0;
}
#contents #top-release .mod-release dl {
  padding: 15px 12px 15px 0;
}
#contents #top-release .col2-a,
#contents #top-release .col2-b {
  display: table-cell;
  width: 50%;
  margin: 0;
  padding: 35px 40px;
}
#contents #top-release .col2-a {
  border-right: 10px solid #F5F5F5;
}
#contents #top-release .col2-b {
  border-left: 10px solid #F5F5F5;
}
/*----*/
#contents .companySection section {
  float: left;
  width: 32%;
  height: 452px;
  margin-top: 0;
  padding-top: 60px;
  text-align: center;
  background: no-repeat 50% 100%;
  background-size: cover;
  -webkit-background-size: cover;
}
#contents .companySection section.message {
 
}
#contents .companySection section.sense {
  margin: 0 2%;
  
}
#contents .companySection section.logoStory {
  
}
#contents .companySection section h1 {
  color: inherit;
  position: absolute;
  top: 60px;
  left: auto;
  width: 100%;
  font-size: 157%;
  font-weight: bold;
  text-align: center;
}
#contents .companySection section h1 span {
  padding-top: 10px;
  font-size: 63%;
}
/*----*/
#contents .serviceSection section,
#contents .recruitSection section {
  max-width: 423px;
  min-height: 375px;
  padding: 65px 0;
}
#contents .recruitSection section {
  padding-left: 56%;
}
#contents .serviceSection h2 span,
#contents .recruitSection h2 span {
  display: block;
}
#contents .serviceSection .btn a,
#contents .recruitSection .btn a {
  color: #FFF;
  display: inline-block;
  width: 160px;
  padding: 0;
  line-height: 50px;
}
#contents .serviceSection .btn a:hover,
#contents .recruitSection .btn a:hover {
  background-color: #4cbcf0;
}
}

#sponsor img {
    margin-bottom: 100px;
}

.img-70 {
    max-width: 70%;
    height: auto;
}
/*0228Konishi
#contents #sponsor h3 {
    font-size: 1.1rem;
    background: #ededed;
    padding: 10px 0;
    margin-bottom: 30px;
}

*/
#contents #sign h2 {
    font-size: 1.5rem;
	margin-bottom: 10px;
}


@font-face {
  font-family: "D7MBI";
  src: url("fonts/DSEG7Modern-BoldItalic.woff") format('woff');
}
#TimeLeft{
    font-family: "D7MBI" !important;
}

#coutndown{
	padding: 20px 0;
	text-align: center;
	background: #FBEB27;
}
#honoluluHead p img{
	width: 100%;
	height: auto;
}
#marathon_category #fridaynight .col2-a{
	background: url(images/fridaynight01.jpg) no-repeat;
	background-size: cover;
	color:white;
	padding: 40px;
}
#marathon_category #fridaynight .col2-b{
	background: #666;
	background-size: cover;
	color:white;
	padding: 40px;
}

#marathon_category #fridaynight .col2-c{
	background: url(images/goods.png) no-repeat;
	background-size: cover;
	color:white;
	padding: 40px;
}
#marathon_category #fridaynight .col2-d{
	background: url(https://s3.honolulumarathon.jp/2018/wp-content/uploads/2021/10/12150206/hm19kaz-7997.jpg) no-repeat;
	background-size: cover;
	color:white;
	padding: 40px;
}
#marathon_category #fridaynight .col2-e{
	background: url(https://s3.honolulumarathon.jp/2018/wp-content/uploads/2021/10/11121405/malamaTOP.png) no-repeat;
	background-size: cover;
	color:white;
	padding: 40px;
}

#fridaynight h2{
	/* オフィシャルパーティー: */

	font-size: 18px;
	color: #FFFFFF;
	letter-spacing: 0;
	font-weight: normal;

}

#fridaynight h3{
	/* ホノルルマラソン アロハフライデーナイト: */

	font-size: 24px;
	color: #FFFFFF;
	letter-spacing: 0;
	line-height: 31px;
	font-weight: normal;

}

#fridaynight p:first-of-type{
	/* 12月 8日（金）夜、世界各国から集まっ: */

	font-size: 18px;
	color: #FFFFFF;
	letter-spacing: 0;
	line-height: 25px;
	font-weight: normal;
	width: 90%;
}

/*0228Konishi

#fridaynight p:nth-of-type(2){
	
	
	background: #F5A623;
	
	font-size: 13px;
	color: #FFFFFF;
	letter-spacing: 0;
	line-height: 30px;
	width: 130px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	margin-bottom: 0;
}
*/
#bannerArea .row img{
	width: 100%;
	height: auto;
}
#bannerArea .row a h4{
	font-size: 130%;
	margin: 14px 0 10px;
}
#bannerArea .row a p{
	margin: 0 0 24px;
}
#sendMessageButton{
	background: #F5A623;
	border-color: #F5A623;
	color:white;
}
#honoluluHead{
	position: relative;
}
#marathonView{
	position: absolute;
	top:80px;
	right: 30px;
	padding-left: 149px;
	background: #fff url(images/honoluluHead02_mark.png) no-repeat;
	height: 197px;
	width: 404px;
}
#marathonView p:first-of-type{
	font-size: 138%;
	margin-top: 1rem;
	margin-bottom: 0.5rem;
	line-height: 1.3;
	font-weight: bold;
}
#marathonView p:nth-of-type(2){
	font-size: 98%;
		margin-bottom: 0.5rem;

}
#marathonView p:nth-of-type(3){
background: #F5A623;
    font-size: 13px;
    color: #FFFFFF;
    letter-spacing: 0;
    width: 130px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    margin-bottom: 0;
}
#mvbox {
	width: 100%;
	height: auto;
}
.YTPOverlay{
	background: rgba(0,0,0,0.4);
}
.underlogo{
	text-align: center;
	line-height: 1.2;
	font-weight: bold;
}
#sns-nav ul{
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.IDwarning {
  display: block;
  width: 100%;
  background: #F8E71C;
  text-align: left;
	font-size: small;
	padding: 5px 25px;
  color: #000;
  text-decoration: none;
}

/* 
.IDwarning a{
  display: block;
  width: 100%;
  background: #F8E71C;
  text-align: center;
  height: 40px;
  line-height: 40px;
  color: #000;
  text-decoration: none;
}
*/

.IDwarning a:hover{
  opacity: 0.7;
  text-decoration: none;
}
#mainheader{
  background: #000;
  overflow: hidden;
  height: 40px;
  line-height: 40px;
}
#mainheader a{
  color: white;
  text-decoration: none;
}
#mainheader a:hover{
  color: white;
  text-decoration: underline;
}

#mainheader p{
  float: left;
  padding-left: 20px;
}
#mainheader #mainheadright{
  float: right;
}
#mainheader #mainheadright ul{
  overflow: hidden;
}

#mainheader #mainheadright li a{
  text-decoration: none;
	color: #fff;
	 padding-left: 10px;
   padding-right: 10px;
	display: block;
	transition:all 0.4s;
}
#mainheader #mainheadright ul li{
  float: left;
	border:1px solid #fff;
   box-sizing: border-box;
   line-height: 2;
   margin-top: 3px;
	background: #000;
}

#mainheader #mainheadright a:hover{
    color:#000;
	background: #fff;
	border:none;
}

.raceabout_item{
	width:100%;
	height: 50px;
}

.raceabout_title{
	float: left;
	width:40%;
}
.raceabout_detail{
	  float: right;
    width: 60%;
}
p.race_event{
    width: 300px;
	
}

@media screen and (min-width: 1024px){
	#marathon_category #top-release .col2-b {
    	border-left: 10px solid #Ffffff;
	}
	#marathon_category #top-release .col2-a {
    	border-right: 10px solid #Ffffff;
	}
}

@media screen and (min-width: 1024px){
	#marathon_category #top-release .col2-b {
    	border-left: 10px solid #Ffffff;
	}
	#marathon_category #top-release .col2-a {
    	border-right: 10px solid #Ffffff;
	}
}

#coutndown, .underlogo, #mainheader, .IDwarning{
    display: block;
  }

@media screen and (max-width: 576px){
  header #site-logo a{
background-image: url(images/logo_hori.svg) !important;
    height: 104px !important;
    background-position: center !important;
    width:100% !important;
    background-size: 90% auto !important;
	  background-repeat: no-repeat;
  }
  header #site-logo{
    width: 80vw !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }
 /* 
  #coutndown, .underlogo, #mainheader, .IDwarning{
    display: none !important;
  }
*/
 #coutndown, .underlogo{
    display: none !important;
	}
  #contents #top-release section h2{
    padding: 0 !important;
  }
  #sns-nav ul{
    display: none;
  }
  #global-nav-switch{
    margin-top: 4px;
    
  }
  #global-nav-switch img{
    width: 10vw;
    height: auto;
  }
  .mod-release .btn{
    top:-10px !important;
    right: 0 !important;
    font-size: 0.8rem;
  }
  #contents #top-release section h2{
    font-size: 110% !important;
  }
  .docomo{
		width: 40%;
		height: auto;
	}
	.Supporting{
		width: 60%;
		height: auto;
	}
}

#race .color-base{
	color: #f9a507;
}

#race dl{
	overflow: hidden
}

#race dt, #race dd{
	float: left
}

#race dt{
	width: 178px;
	color: #000000;
	font-weight: bold;
	margin:0 0 30px 0;
}

/* #race dd{
	width: 862px;
	margin:0;
} */

#race body section{
	padding-bottom:30px;
	padding-top: 80px;
}

#race body section h3{
	font-size: 1.2rem;
}

#race section h2.section-heading {
	font-size: 18px;
	margin-top: -10px;
	margin-bottom: 15px;
}

#race section h2.section-heading span {
	border: 2px solid #000000;
	padding: 10px;
}
.HMentryMenu{
	margin-top:10px;
	margin-bottom:40px;
}

.HMentryMenu p{
	width:80%;
	margin:10px;
}
.HMentryMenu p a{
	display:block;
	width:100%;
	height:100%;
	text-align:center;
	line-height:100px;
	background:#F5AD30;
	color:white;
}

#news-list dl {
  overflow: hidden;
}

#news-list dt {
  float: left;
  margin-right: 20px;
}

#news-list dd {
  float:none;
}

#news-list .wp-pagenavi {
  clear: both;
  text-align:center;
}

#news-list .wp-pagenavi a, #news-list .wp-pagenavi span {
  background-color: #FFF;
  border: solid 1px #dee2e6;
  padding: 8px 15px;
  margin: 0 2px;
  white-space: nowrap;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
}

#news-list .wp-pagenavi a:hover{
  color: #FFF; 
  background-color: #dee2e6; 
}

#news-list .wp-pagenavi span.current{
  color: #FFF;
  background-color: #FEC72B;
  font-weight: bold;
}

#news-list .wp-pagenavi span.pages{
  display: none;
}

/* よくある質問メニュー用 */
.faq_item a {
	box-sizing: border-box;
	display: block;
	color: #FFF;
	background-color: #F3992B;

	
	
	padding: 7px 10px;
	margin: 7px 5px;
	
	white-space: nowrap;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration: none;
	transition:background-color 0.3s;
}

.faq_item a:hover {
	color: #FFF;
	text-decoration:none;
	background-color: #EC0026;
}

/* よくある質問用 */
.faq {
	margin-bottom: 50px;
}

.faq_item {
	margin-bottom: 50px;
}


.faq dt {
	float: none;
	overflow: hidden;
}

.faq dd {
	float: none;
	overflow: hidden;
}

.faq .mark {
	font-weight: 700;

	padding: 5px 10px;
	margin-top: -5px;

	white-space: nowrap;
	text-align: center;
	text-decoration: none;
}

.faq .detail {
	float: none;
}

.faq .q {
	color: #FFF;
	background-color: #022169;
}

.faq .a {
	color: #FFF;
	background-color: #7EBE42;
}

p.faq_answer {
	padding-top:20px;
	padding-bottom:30px;
}

.faq .wp-caption {
	max-width: 100%;
}

.faq .alignright {
	float: right;
	margin-left: 15px;
}

.faq_grid_3{
	width: 220px;
	margin:10px;
}

.faq_grid{
    display: inline;
    float: left;
    margin-left: 10px;
    margin-right: 10px;
}

#faq h5 {
	   font-size: 138.5%;
    line-height: 1.3;
    background-color: #F5A623;
    color: #FFFFFF;
    padding: 10px 18px;
    border-left: 4px solid #222;
    font-weight: normal;
}

#faq h6{
    margin-top: 35px;
    font-size: 123.1%;
    padding: 5px 12px;
    border-top: 1px solid #DCDDDD;
    border-left: 1px solid #DCDDDD;
    border-right: 1px solid #DCDDDD;
    border-bottom: 3px solid #F5A623;
}


.faqmenu{
	  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

 .faq_about {
	    margin-bottom: 20px;
	     padding-left: 10px;
       width: 100%;
}

.faq_button {
	width:230px;
    display: inline-block;
    padding: 0.3em 1em;
    text-decoration: none;
    color: #000000;
    border: solid 2px #c0c0c0;
    border-radius: 3px;
    transition: .4s;
}

.faq_back_top_button {
    display: inline-block;
    padding: 0.3em 1em;
    text-decoration: none;
    color: #000000;
    border: solid 2px #F5A623;
    border-radius: 3px;
    transition: .4s;
}

/*ツアー情報*/
#tour-list dl {
  overflow: hidden;
}

#tour-list dt {
  margin-right: 20px;
}

#tour-list dd {
  float:none;
}

#tour-list{
	/*padding: 50px 0 18px 50px;*?
}

#tour-list .item_odd {
	width:95%;
	 padding:30px;
    background: #F5DA81;
	/*url() right bottom no-repeat;*/
}

#tour-list .company {
    display: inline-block;
    margin-top: 0;
    padding: 4px 14px;
    background: #FE9A2E;
    color: #fff;
    font-size: 12px;
}

#tour-list h2 {
     /*padding: 3px 0 3px 48px;*/
     /*background: url(../img/common/flower_bg_m.png) left top no-repeat;*/
    font-size: 20px;
    font-weight: bold;
}

#tour-list .btn {
     display: inline-block;
    padding: 0.5em 1em;
    text-decoration: none;
    background: #FAAC58;/*ボタン色*/
    color: #FFF;
    border-bottom: solid 4px #627295;
    border-radius: 3px;
}

#tour-list a {
     color: #fff;
}

#travel-agency-list dl {
  overflow: hidden;
}

#travel-agency-list dt {
  float: left;
  margin-right: 20px;
}

#travel-agency-list dd {
  float:none;
}

#travel-agency-list .wp-pagenavi {
  clear: both;
  text-align:center;
}

#travel-agency-list .wp-pagenavi a, #travel-agency-list .wp-pagenavi span {
  background-color: #FFF;
  border: solid 1px #999;
  padding: 8px 15px;
  margin: 0 2px;
  white-space: nowrap;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
}

#travel-agency-list .wp-pagenavi a:hover{
  color: #FFF; 
  background-color: #999; 
}

#travel-agency-list .wp-pagenavi span.current{
  color: #FFF;
  background-color: #FEC72B;
  font-weight: bold;
}

#travel-agency-list .wp-pagenavi span.pages{
  display: none;
}

/*日程*/
#runnerday .runnerday_item{
	float: left;
	background-color: #FFF; 
   margin-top: 20px;
   margin-bottom: 20px;
}

#runnerday dl {
  overflow: hidden;
	padding-left: 5%;
}

#runnerday dt {
  margin-right: 20px;
	font-size: 18px;
}

#runnerday dd {
  float: left ;
	width:100%;
	margin: 10px;
}
/*エントリーまでの流れ （日程について）*/
#entryflow {
  width:100%;
}

#entryflow th {
  width:30%;
}

#entryflow .entryflow-item {
  padding:10px 0 0 10px;
}

#entryflow .mod-table {
    margin-bottom: 20px;
    font-size: 100%;
}

 #entryflow .entryflow-bunner{
    margin-bottom: 50px;
}

/*大会当日　（日程について）*/
#aboutrace .item{
	padding: 0 0 30px 0;
}

#aboutrace .item-trolleybus{
	width:50%;
	float: left ;
	padding: 0 0 30px 0;
}

#aboutrace .item-trolleybus-top{
	height:auto;
	padding: 0 0 30px 0;
}

#aboutrace .item{
	padding: 0 0 30px 0;
}

 #aboutrace .bunner{
    margin-bottom: 50px;
}

 #aboutrace .btn{
	 float: left ;
    width:50%;
}

/* 日程 */
.flow-content{
	padding:0px;
}

.flow-month{
	background-color:#022169; /* #f9be00; */
}

.flow-sep{
	margin-bottom: 30px;
}

.flow-title{
	color: #000;
}

.flow-content .flow-box{
	display: table;
	margin-bottom: 60px;
}
.flow-content .flow-box .flow-month{
	display: table-cell;
	width: 100px;
	color: #fff;
	text-align: center;
	font-size: 18px;
	padding-top: 20px;
	vertical-align: top;
	position: relative;
}
.flow-content .flow-box .flow-month:after{
	content: "";
	position: absolute;
	bottom: -35px;
	left: 0;
	/*三角形*/
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 35px 50px 0 50px;
	border-color: #022169 transparent transparent transparent;
}
.flow-content .flow-box .flow-box-content{
	display: table-cell;
	vertical-align: top;
	padding-left: 30px;
}

@media screen and (max-width: 768px) {
	.flow-content{
		padding-top: 0px;
		padding-bottom: 0px;
		padding-left: 0px;
		padding-right: 0px;
	}
	.flow-content .flow-box{
		margin-bottom: 60px;
	}
	.flow-content .flow-box .flow-month{
		/* width: 88px;
		font-size: 26px; */
		width: 28px;
    font-size: 14px;
		padding-top: 30px;
	}
	.flow-content .flow-box .flow-month:after{
		bottom: -30px;
		/*三角形*/
		border-width: 20px 14px 10px 14px;
	}
	.flow-content .flow-box .flow-box-content{
		padding-left: 14px;
	}
	
	/*まゆゆ*/
	#top .IDwarning {
		height:auto;
		line-height:20px;
	}
}

.flow-content .flow-box .flow-box-content img{
	width: 100% !important;
}

.flow-content .flow-box .flow-box-content table{
	width: 100%;
}

.flow-content .flow-box .flow-box-content h6{
	padding-bottom: 10px;
}

.flow-content .flow-box .flow-box-content th{
	font-weight: normal;
}

.flow-content .flow-box .flow-box-content .td1{
	color: #f9be00;

	padding-right: 20px;
}

.flow-content .flow-box .flow-box-content td, .flow-content .flow-box .flow-box-content th{
	padding-top: 20px;
	padding-bottom: 10px;

	padding-left: 10px;

	border-bottom: #dee2e6 1px solid;
}

.flow-content .flow-box .flow-box-content .route-table td{
	padding-top: 5px;
	padding-bottom: 5px;

	padding-left: 10px;

	border-bottom: none;
}

.flow-content .flow-box .flow-box-content .alert{
	color: #d20000;
}

.flow-content .flow-box .flow-box-content .necessary{
	padding-left: 10px;
}

.flow-content .flow-box .flow-box-content .necessary-item{
	font-weight: bold;
	border: #f9be00 3px solid;
}

.flow-content .flow-box .flow-box-content .map {
	width: 100%;
	height: 300px;
}

#runnerday .flow-content{
	padding-top: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	padding-right: 0px;
}

#runnerday .flow-box-content{
	padding-top: 20px;
	padding-bottom: 20px;
}

/* チーム部門 */
#event-team img{
	 /* width: 100% !important; */
}

/* チーム部門テーブル */
#team_table {
	width: 100%;
}
#team_table table {
	width: 100%;
	table-layout: fixed;
}
#team_table tbody {
	width: 100%;
	border-bottom: 1px solid #dee2e6;
}
#team_table table tr {
	border-top: 1px solid #dee2e6;
}
#team_table table th {
	
	padding: 20px;
}
#team_table table td {
	padding:30px;
}

#team_table table.basic {
	display: table;
}
#team_table table.sm {
	display: none;
}

#team_table table.sm th{
	background-color: #f2f2f2;
}

@media (max-width: 576px) {
	#team_table table.basic {
		display: none;
	}
	#team_table table.sm {
		display: table;
	}
}

/* 表彰式テーブル */
@media (max-width: 576px) {
	#award_table th {
		background-color: #f2f2f2;
		display: block;
		width: 100%;
	}
	#award_table td {
		display: block;
		width: 100%;
	}
}

.kome{
  text-indent: -0.6rem;
   padding-left: 0.8rem;
}

/* start hタグ指定の共通化により不要になる想定、現状画面ごとの設定 */
#event-photo .page_contents_area h3{
	margin-top: 20px;
	margin-bottom: 50px;
}
#event-photo .page_contents_area h4{
	margin-top: 20px;
	margin-bottom: 50px;
}

#event-team .page_contents_area h3{
	margin-top : 0px;
	margin-bottom : 20px;
}
#event-team .page_contents_area h4{
	margin-top : 0px;
	margin-bottom : 20px;
}

#event-expo .page_contents_area h3{
	margin-top : 0px;
	margin-bottom : 20px;
}
#event-expo .page_contents_area h4{
	margin-top : 0px;
	margin-bottom : 20px;
}
/* end   hタグ指定の共通化により不要になる想定、現状画面ごとの設定 */

.fm_td{
	background:#001B5C;
	color:white;
}
.w10k_td{
	background:#2D5C12;
	color:white;
}
.mm_td{
	background:#E90023;
	color:white;
}

#race-kalakaua h4{
	margin-top: 50px;
}

/* 日時用テーブル*/
#date_table {

margin: 0;

}

#date_table  table.basic {
  width:100%;
}


#date_table  table.basic tr {
border-top: 1px solid #dee2e6;

}

#date_table  table.basic th {
    font-size: 100%;
    font-weight: 600;
    line-height: 1.8;
    padding: 10px 0;
	width:18%;
}
#entrypricetable th, #entrypricetable td{
	vertical-align:middle;
	padding:1rem 0;
}
#entrypricetable .trfullmala{
	background:#001D67;
	color:#fff;
}
#entrypricetable .tr10k{
	background:#7EC04D;
	color:#fff;
}
#entrypricetable .trkamm{
	background:#F9C028;
	color:#fff;
}
#entrypricetable .trafn{
	background:#57B3E3;
	color:#fff;
}
#entrypricetable .trhead{
	background:#eee;
	color:#000;
}
#contents #entrypricetable img{
	width:60%;
	height:auto;
}
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active{
	background:#FEC72B;
	color:#fff;
}

@media screen and (max-width: 767px){
	.pconly{
	  display: none;
	}
	.sponly{
		display:block;
		width:100%;
	}
	.sponlyBr{
		display:inline;
	}
	.nav-link{
		padding: .5rem .5rem;
		font-size:0.7rem;
	}
}

@media screen and (max-width: 576px){
	#team_table table td{
		padding:16px;
	}
	
	.page_contents_area h3{
		font-size:100%;
	}

}
#route .mark{
font-size:1rem;
background:white;
text-align: center;
vertical-align: middle;
	padding: 1rem 2rem;
}

@media screen and (min-width: 767px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 767px){	
  .br-pc { display:none; }
  .br-sp { display:block; }
}	