@charset 'UTF-8';
/* CSS Document */

/* z-index

9999	nav ul li ul.sub

*/

/* -------------------------------------------------------- html &amp; body */

html {
	height: 100%;
}

body
{
	/* min-width: 1200px; */
	/* background: #f0f0f0; */
	height: 100%;
	width: 100%;
	/* overflow-x: hidden; */
	box-sizing: border-box;
	
	/* background: #121647; */
	/* background: #fffeee; */
	position: relative;
	
	/* background: #121946; */
	
	
}


body:after
{
	/* position: absolute;
	width: calc(100%);
	height: calc(100%);
	box-sizing: border-box;
	content: "";
	display: block;
	pointer-events: none;
	background-color: rgba(18, 22, 71, 0.8);	
	z-index: 9999; */

}

/* body div.line
{
	background: url(../img/bg_line.png);
	background-size: 150px 150px;
	min-height: 100%;
	width: 100vw;
	position: fixed;
	display: block;
	z-index: 0;
	top: 0;
	left: 0;
	box-sizing: border-box;
} */

div.wrapper {
	box-sizing: border-box;
	/* overflow: hidden; */
	position: relative;
	z-index: 1;
}

div.inner
{
    /* width: 1000px; */
	max-width: 1200px;
    margin: 0 auto;
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------http://www.dmi.med.osaka-u.ac.jp/dcc/index.html---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- header */

header
{
	width: 100%;
	position: fixed;
	z-index: 9999;
	/* background-color: rgba(0,0,0,0.5);	 */
}

header div.inner 
{
	max-width: none;
	padding: 0 1em;

}




header > div.inner
{
    overflow: hidden;
    max-height: 100px;
    padding: 1em 1em 0;
}

header ul.utility
{
    text-align: right;
}

header ul.utility li
{
    display: inline;
}

header ul.utility li a
{
    font-size: 1.3rem;
    position: relative;
    padding: 0 1em 0 .8em;
	color: #fff;
}

header ul.utility li a:hover
{
    /* text-decoration: underline; */
}

header ul.utility li a:hover
{
    color: #003e6c;
}

header ul.utility li a::before
{
    position: absolute;
	top: 50%;
    left: 0;

    width: 5px;
    height: 5px;
    margin: auto;

    content: '';
    -webkit-transform: translate(0, -50%) rotate(45deg);
    transform: translate(-0, -50%) rotate(45deg);

    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

header div.logo a
{
    display: block;

    padding: 0;

    color: #fff;
	background: #121647;
	margin: -1em -1em 0;
	font-size: 1.6rem;
	padding: 1em;
	box-sizing: border-box;
	font-weight: normal;
	
	position: fixed;
	bottom: 0;
	width: 100%;
}

header div.logo a span.en 
{
	color: #121647;
}

header div.logo a img
{
    display: block;

    width: 440px; /* */
    height: 60px; /* */
	
	transition: all 0.4s ease 0s;
	max-width: 440px; /* */
}

/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- nav */

header div.menuButton
{
    display: none;
}
nav
{
    /* background: #ffffff; */
    position: relative;
    height: 100%;
}

nav ul
{
    display: table;
    width: 100%;
    height: 100%;
}

nav ul li
{
    position: relative;
    display: table-cell;
    /* height: 80px; */
    vertical-align: middle;
}

nav > div.inner > ul > li > a::after
{
    position: absolute;
    z-index: 9999;
    bottom: 0;
    left: 0;
    width: 0;
    height: 3px;
    content: '';
    transition: all .1s ease-in-out;
    background: #003e6c;
}

nav > div.inner > ul > li > a:hover::after
{
    left: 0;
    width: 100%;
}

nav ul li a
{
    font-size: 1.7rem;
    line-height: 1.2;
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 1em;
    text-align: center;
    color: #333;
}

nav ul li.current a
{
	color: #003e6c;
}

nav ul li.current:after
{
	position: absolute;
	content: "";
	bottom: 0;
	width: 25%;
	height: 3px;
	left: 50%;
	background: #003e6c;
	-webkit-transform: translate(-50%, 0);	
	transform: translate(-50%, 0);
}

nav ul li a:hover
{
	color: #003e6c;
    /* color: #848484; */
    /* color: #fff;
    background: #ff8cb3; */
}

nav ul li a::after
{
    /* position: absolute;
    top: 1.2em;
    right: 0;

    width: 1px;
    height: 15px;

    content: '';

    background: #e9e9e9; */
}

nav ul li:first-child a::before
{
    /* position: absolute;
    top: 1.2em;
    left: 0;

    width: 1px;
    height: 15px;

    content: '';

    background: #e9e9e9; */
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ common */

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

a
{
    outline: none;
}

a.arrow {
	position: relative;
	padding: 0 0 0 1em;
	color: #343434;
	vertical-align: middle;
	text-decoration: none;
}

a.arrow::before {
	width: 4px;
	height: 4px;
	position: absolute;
	top: 50%;
	left: 3px;
	content: "";	
	border-top: 1px solid #343434;
	border-right: 1px solid #343434;


	
	-webkit-transform: translate(0, -50%) rotate(45deg);	
	transform: translate(0, -50%) rotate(45deg);	
	
    transition: all .2s ease-in;
}


a:focus,
*:focus
{
    outline: none;
}
.default
{
    display: block;
}
.responsive
{
    display: none;
}

/* 
	centering position: absolute;
	
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
*/

.fs1 { font-size: 0.8rem !important; }
.fs2 { font-size: 1.0rem !important; }
.fs3 { font-size: 1.2rem !important; }
.fs4 { font-size: 1.3rem !important; }
.fs5 { font-size: 1.4rem !important; }
.fs6 { font-size: 1.8rem !important; }
.fs7 { font-size: 2.4rem !important; }
.fs8 { font-size: 3.6rem !important; }
.fs9 { font-size: 4.8rem !important; }

.w5 { width: 5%; }
.w10 { width: 10%; }
.w15 { width: 15%; }
.w16 { width: 16%; }
.w20 { width: 20%; }
.w22 { width: 22%; }
.w24 { width: 24%; }
.w25 { width: 25%; }
.w28 { width: 28%; }
.w30 { width: 30%; }
.w32 { width: 32%; }
.w40 { width: 40%; }
.w45 { width: 45%; }
.w49 { width: 49%; }
.w50 { width: 50%; }
.w51 { width: 51%; }
.w55 { width: 55%; }
.w60 { width: 60%; }
.w68 { width: 68%; }
.w70 { width: 70%; }
.w72 { width: 72%; }
.w75 { width: 75%; }
.w76 { width: 76%; }
.w78 { width: 78%; }
.w80 { width: 80%; }
.w84 { width: 84%; }
.w85 { width: 85%; }
.w90 { width: 90%; }
.w95 { width: 95%; }
.w100 { width: 100%; }

.tc {
	text-align: center;
}

.tl {
	text-align: left;
}

.tr {
	text-align: right;
}

.vt {
	vertical-align: top;
}

.vm {
	vertical-align: middle;
}

.vb {
	vertical-align: bottom;
}

.m_o0 { margin-top: 0 !important; }
.m_o1 { margin-top: 1% !important; }
.m_o2 { margin-top: 2% !important; }
.m_o4 { margin-top: 4% !important; }

.m_l0 { margin-left: 0 !important; }
.m_l1 { margin-left: 1% !important; }
.m_l2 { margin-left: 2% !important; }
.m_l4 { margin-left: 4% !important; }

.m_r0 { margin-right: 0 !important; }
.m_r1 { margin-right: 1% !important; }
.m_r2 { margin-right: 2% !important; }
.m_r4 { margin-right: 4% !important; }

.m_u0 { margin-bottom: 0 !important; }
.m_u5 { margin-bottom: 5px !important; }
.m_u10 { margin-bottom: 10px !important; }
.m_u20 { margin-bottom: 20px !important; }
.m_u30 { margin-bottom: 30px !important; }
.m_u40 { margin-bottom: 40px !important; }
.m_u50 { margin-bottom: 50px !important; }
.m_u60 { margin-bottom: 60px !important; }
.m_u80 { margin-bottom: 80px !important; }

.fl {
	float: left;
}

.fr {
	float: right;
}

.center {
	margin-right: auto;
	margin-left: auto;
}


/* 中央揃え */

.outbox {
	position: relative;
}

.outbox .inbox {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);	
	transform: translate(-50%, -50%);
}

/* @end */

.caption {
	color:;
	font-size:;
}


/* ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- column Layout */

ul.column2, 
ul.column3, 
ul.column4, 
ul.column5, 
ul.column6, 
ul.column7, 
ul.column8, 
ul.column9 {
	margin: 0;
} 

ul.column2 li::before, 
ul.column3 li::before, 
ul.column4 li::before, 
ul.column5 li::before, 
ul.column6 li::before, 
ul.column7 li::before, 
ul.column8 li::before, 
ul.column9 li::before {
    background: none;
    border-radius: 0;
    content: "";
    height: 0;
    left: 0;
    margin: 0;
    position: relative;
    top: 0;
    transition: none;
    width: 0;
}

ul.column2 li, 
ul.column3 li, 
ul.column4 li, 
ul.column5 li, 
ul.column6 li, 
ul.column7 li, 
ul.column8 li, 
ul.column9 li {
    margin: 0;
    padding: 0;
    position: relative;
    float: left;
	margin-bottom: 2.87%;
}

/* .column2 */
ul.column2 li {  width: 48.56%;  margin-right: 2.88%;}
ul.column2 li:nth-child(2n) {  margin-right: 0;}
/* .column3 */
ul.column3 li {  width: 31.42%;  margin-right: 2.87%;}
ul.column3 li:nth-child(3n) {  margin-right: 0;}
/* .column4 */
ul.column4 li {  width: 22.84%;  margin-right: 2.88%;}
ul.column4 li:nth-child(4n) {  margin-right: 0;}
/* .column5 */
ul.column5 li {  width: 17.68%;  margin-right: 2.9%;}
ul.column5 li:nth-child(5n) {  margin-right: 0;}
/* .column6 */
ul.column6 li {  width: 14.25%;  margin-right: 2.9%;}
ul.column6 li:nth-child(6n) {  margin-right: 0;}
/* .column7 */
ul.column7 li{  width: 11.8%;  margin-right: 2.9%;}
ul.column7 li:nth-child(7n) {  margin-right: 0;}
/* .column8 */
ul.column8 li {  width: 9.98%;  margin-right: 2.88%;}
ul.column8 li:nth-child(8n) {  margin-right: 0;}
/* .column9 */
ul.column9 li {  width: 8.56%;  margin-right: 2.87%;}
ul.column9 li:nth-child(9n) {  margin-right: 0;}

/* @end column Layout */

/*
p {
	margin: 1em 0;
}
*/

.wrap {
	overflow: hidden;
}


/* ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- .btn */	
/* .btn .default */

.btn {
	background: #eee;
	display: block;
	padding: 0.5em 1em;
	border-radius: 5px;
	box-sizing: border-box;
	text-decoration: none;
	text-align: center;
	transition: all 0.1s ease-in-out;
	
	cursor: pointer;
	
	border: 1px solid;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) #a2a2a2;
	
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;	
	
}


.btn.inline {
	display: inline-block;
}

/* btn color */
.btn.default {
	background: -moz-linear-gradient(top,#FFF 0%,#EEE);
    background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#EEE));
	background: #eee;	
    color: #111;
}
.btn.red {
	/* background: -moz-linear-gradient(top,#ff5a5f 0%,#ff5a5f);
    background: -webkit-gradient(linear, left top, left bottom, from(#ff5a5f), to(#ff5a5f)); */
    background: #fff;
	border: 2px solid #ff2255;
	color: #ff2255;
}
.btn.red:hover {
    background: #ff2255;
	color: #fff;
}

.btn.purple {
	background: -moz-linear-gradient(top,#6f5499 0%,#6f5499);
    background: -webkit-gradient(linear, left top, left bottom, from(#6f5499), to(#6f5499));
    background: #cf8ae5;
	color: #fff;
}
.btn.blue {
	background: -moz-linear-gradient(top,#337ab7 0%,#337ab7);
    background: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#337ab7));
    background: #4b8efa;
	color: #fff;
}
.btn.green {
	background: -moz-linear-gradient(top,#30a6b1 0%,#30a6b1);
    background: -webkit-gradient(linear, left top, left bottom, from(#30a6b1), to(#30a6b1));
    background: #6dcc54;
	color: #fff;
}
.btn.yellow {
	background: -moz-linear-gradient(top,#faee2b 0%,#faee2b);
    background: -webkit-gradient(linear, left top, left bottom, from(#faee2b), to(#faee2b));
    background: #f7cf4b;
	color: #666;
}
.btn.orange {
	background: -moz-linear-gradient(top,#f89406 0%,#f89406);
    background: -webkit-gradient(linear, left top, left bottom, from(#f89406), to(#f89406));
    background: #ffa244;
	color: #fff;
}

.btn:hover {
	 /* filter: brightness(85%);
 	 -moz-filter: brightness(85%);
	 -webkit-filter: brightness(85%); */
}

a.btn:hover {
	text-decoration: none !important;
}

p {
	margin: 1em 0;
	/* line-height: 2; */
}

.wrap {
	overflow: hidden;
}

/* h3 {
	font-size: 4.2rem;
	line-height: 1.5;
    font-weight: bold;
	padding: 0.5em 0 0.5em 1em; 
    margin: 2em 0 0.5em;
	display: block;
	position: relative;
	font-style: italic;
	letter-spacing: -2px;
}

h3:before {
	content: "";
	width: 4px;
	height: 2em;
	background: #cc0066;
	position: absolute;
		
	top: 50%;
	left: 0.5em;
	 -webkit-transform: translate(0, -50%) rotate(30deg);
    transform: translate(-0, -50%) rotate(30deg);
	z-index: -1;
}

h3:first-child {
    margin: 1em 0 1em;
}

h4 {
	font-size: 2.1rem;
	font-weight: bold;
	margin: 2em 0 1em;
	border-bottom: 3px solid #f0f0f0;
}

h3 + h4 {
    margin: 1em 0 1em;
}

h5 {
	font-size: 1.8rem;
	margin: 1em 0 0.5em;
	display: inline-block;
	border-bottom: 3px solid #fe5700;
}

h4 + h5 {
	margin: 0;
}
 */
/* ------------------------------------------------------------------------------------------------------------------------------------ ul */

ul.deco-list {
	margin: 10px 0 20px;
	padding: 0;
}

ul.deco-list li {
	margin: 0;
	padding: 0 0 0 15px;
	position: relative;
}

ul.deco-list li::before {
    background: #ccc none repeat scroll 0 0;
    border-radius: 50%;
    content: "";
    height: 8px;
    left: 0;
    margin-right: 0.5em;
    position: absolute;
    top: 10px;
    transition: all 0.3s ease-out 0s;
    width: 8px;
}

ul.deco-list li.list-unstyled {
	list-style: none;
	background: none;
	padding: 0;
}

ul.deco-list li ul li {
	list-style: none;
	background: none;
	margin: 0;
	padding: 0 0 0 15px;
}


ul.deco-list.inline {
	margin: 0;
}

ul.deco-list.inline li {
	display: block;
	white-space: nowrap;
	float: left;
	padding-right: 0.5em;
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ol.deco-list */

ol.deco-list {
	/* margin: 10px 0 20px 20px;
	padding: 0; */
	counter-reset: number;
	list-style: none;
	margin:0;
	padding:0;	
}

ol.deco-list li {
	margin: 0;
	padding: 0 0 1em;
	/* padding: 0; */	
}

ol.deco-list>li>ol>li {
	padding: 0 0 0 2em;
	text-indent: -1em;
}

ol.deco-list li:before{
	counter-increment: number;
	content: counter(number);
	
	background: #ccc;
	display: inline-block;
	width: 1em;
	height: 1em;
	text-align: center;
	/* border-radius: 50%; */
	color: #fff;
	margin-right: .3em;
	line-height: 1em;
	padding: 0.1em;	
}

ol.deco-list>li>ol>li:before {
	counter-increment: number;
	content: counter(number)".";	
	margin-right: 0em;
	background: none;
	color: #ba9975;
	font-weight: bold;
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ table.deco-tb */

table.deco-tb {
    text-align: left;
    vertical-align: middle;
    width: 100%;
	border-collapse: collapse;
	border: 1px solid #e5e4d6;
	/* border-top: 3px solid #ccc; */
	border-left: none;
	border-right: none;
	
	/* background: #fff; */
}

table.deco-tb th {
    border: 1px solid #e5e4d6;
	border-left: none;
	border-right: none;
    padding: 0.8em 0.5em;
    text-align: left;
    /* vertical-align: middle; */
	/* background: #eee; */
	/* color: #ffffff; */
	
	/* background: #f8f8f8; */
}

table.deco-tb td {
    border: 1px solid #e5e4d6;
	border-left: none;
	border-right: none;
    padding: 0.8em 0.5em;
    /* vertical-align: top; */
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ .deco-box */

.deco-box {
	background: #f8f8f8;
	padding: 1em;
	border: 1px solid #f0f0f0;
}

.deco-box-line {
	padding: 1em;
	border: 1px solid #f0f0f0;
}

.deco-box.flow-arrow {
	padding: 1em;
	background: #fff;
	border: 10px solid #f6f6f6;
	position: relative;
	text-align: center;
	box-sizing: border-box;
}

.deco-box.flow-arrow.none {
	
}

.deco-box.flow-arrow::before {
    border-color: #f6f6f6 transparent transparent;
    border-style: solid;
    border-width: 12px 12px 0;
    bottom: -12px;
    content: "";
    height: 0;
    left: 50%;
    margin-left: -12px;
    position: absolute;
    width: 0;
    z-index: 0;
}

.deco-box.flow-arrow::after {
    border-color: #f6f6f6 transparent transparent;
    border-style: solid;
    border-width: 12px 12px 0;
    bottom: -20px;
    content: "";
    height: 0;
    left: 50%;
    margin-left: -12px;
    position: absolute;
    width: 0;
    z-index: 0;
}

.deco-box.flow-arrow.none::before,
.deco-box.flow-arrow.none::after {
	border: none;
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ul.qa */


ul.qa {
	/* background: #f6f6f6; */
	margin: 10px 0 20px;
	padding: 1em;
}

ul.qa>li {
	list-style: none;
	background: none;
	margin: 0;
	padding: 1.5em;
	/* text-align: center; */
	position: relative;
	/* color: #585858; */
}

ul.qa>li span.head {
	display: block;
	font-size: 1.4rem;
	font-weight: bold;
}

ul.qa>li.question {
	/* background: #e6f4ff; */
	background: #f2f9ff;
	/* border: 3px solid #013891; */
	margin-bottom: 30px;
}

ul.qa>li.question span.head {
	color: #fff;
	background: #1b84d1;
	border: 2px solid #1b84d1;
	border-radius: 100px;
	/* padding: 0 0.8em; */
	position: absolute;
	top: -20px;
	left: -20px;
	width: 42px;
	height: 42px;
	box-sizing: border-box;	
	display: block;
	text-align: center;
	line-height: 40px;
}

ul.qa>li.question:before {
	background: none;
	content: "";
	position: relative;
	bottom: 0;
	left: 0;
	margin: 0;
	width: 0;
	height: 0;
	border: none;
	z-index: 0;
}

ul.qa>li.question:after {
	content: "";
	position: absolute;
	bottom: -19px; left: 50%;
	margin-left: -19px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 19px 19px 0 19px;
	border-color: #f2f9ff transparent transparent transparent;
	z-index: 0;
}

ul.qa>li.answer {
	background: #ffe6e7;
	background: #fff3f3;
	/* border: 3px solid #fe5700; */
	margin-bottom: 80px;
}

ul.qa>li.answer:last-child {
	margin-bottom: 0;
}

ul.qa>li.answer span.head {
	color: #fff;
	background: #ff2255;
	border: 2px solid #ff2255;
	border-radius: 100px;
	/* padding: 0 0.8em; */
	position: absolute;
	top: -20px;
	left: -20px;
	width: 42px;
	height: 42px;
	line-height: 40px;
	box-sizing: border-box;	
	display: block;
	text-align: center;
}

ul.qa>li.answer:before {
	background: none;
	content: "";
	position: relative;
	bottom: 0;
	left: 0;
	margin: 0;
	width: 0;
	height: 0;
	border: none;
	z-index: 0;
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ form.form */


.form {
}

.form .line {
	display: inline;
	margin: 0;
}

.form th {
	/* min-width: 200px; */
}

.form td.sub {
	/* background: #eee; */
	/* width: 110px; */
	vertical-align: middle;
}

.alert {
	color: #ff100a;
}

label,
.postalcode {
	white-space: nowrap;
}

.form input[type="text"],
.form textarea {
	border-radius: 5px;
	border: none;
	border: 1px solid #ccc;
	background: #f9f9f9;
	transition: all 0.2s ease-in-out;
	padding: 0.5em;
	box-sizing: border-box;
	
	/* vertical-align: bottom; */
}

input[type="text"]:focus,
textarea:focus {
	background: #ffffff;
	outline: none;
	border: none;
	border: 1px solid #ccc;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);
}

.form input[type="text"].err,
.form textarea.err
{
    border: 1px solid #a94442;
    background: #ffeeef;
}

input[type="text"]:focus,
textarea:focus
{
    border: none;
    border: 1px solid #eee;
    outline: none;
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .075) inset, 0 0 8px rgba(102, 175, 233, .6);
}

input[type="text"].err:focus,
textarea.err:focus
{
    border: none;
    border: 1px solid #eee;
    outline: none;
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .075) inset, 0 0 8px rgba(169, 68, 66, .075);
}

input[type="text"]:active,
textarea:active {
	background: #ffffff;		
	outline: none;
	border: none;
	border: 1px solid #ccc;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.125) inset;
}

input[type="text"]::-moz-focus-inner,
textarea::-moz-focus-inner
{
    padding: 0;
    border: 0;
}

/* placeholder color */

::-webkit-input-placeholder {
	color: #ccc;
	opacity: 1;
}
:-moz-placeholder {
	color: #ccc;
}
::-moz-placeholder {
	color: #ccc;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #ccc;
}
:placeholder-shown {
	color: #ccc
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ select */

.form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: 38px;
	border-radius: 5px;
	border: 1px solid #ccc;
	padding: 0 0.5em;
	cursor: pointer;
	background: #fff;
}

.form select.err
{
    border: 1px solid #a94442;
    background: #ffeeef;
}


.form select::-ms-expand {
	display: none;
}

.form select:focus {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);
}

.form select.err:focus
{
    box-shadow: 0 1px 1px rgba(0, 0, 0, .075) inset, 0 0 8px rgba(169, 68, 66, .2);

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.form div.selectWrap {
	position: relative;
	/* width: 50%; */
	height: 38px;
	display: inline-block;
}

.form div.selectWrap::after {
	position: absolute;
	top: 55%;
	right: 10px;
	display: block;
	content: '';
	width: 0;
	height: 0;
	margin-top: -4px;
	border: 4px solid transparent;
	border-top: 4px solid #888;
}

/* ----------------------------------------------------------------------------------------------- */

.form label:hover {
	color: #2b91fc;
}

/* ----------------------------------------------------------------------------------------------- radiobutton &amp; checkbox */

.form input[type=radio],
.form input[type=checkbox] {
	/* display: none; */
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.form .radio,
.form .checkbox {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
	display: inline-block;
	padding: 6px 12px 6px 22px;
	border-radius: 4px;
	/* background-color: #f6f7f8; */
	vertical-align: middle;
	cursor: pointer;
	content: "1";
}

.form .radio.err,
.form .checkbox.err {
	/* background-color: #ffeeef; */
}

.form .radio:hover,
.form .checkbox:hover {
  /* background-color: #d7e5ed; */
}

.form .radio:hover:after,
.form .checkbox:hover:after {
  border-color: #0073aa;
}

.form .radio:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 15px;
  display: block;
  margin-top: -12px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 50%;
  content: '';
}

.form .radio:before {
  /* -webkit-transition: opacity 0.2s linear; */
  /* transition: opacity 0.2s linear; */
  -webkit-transition: 0.2s linear;
  transition: 0.2s linear;
  position: absolute;
  top: 65%;
  left: 25px;
  display: block;
  margin-top: -7px;
  width: 0;
  height: 0;
  border-radius: 50%;
  background-color: #0073aa;
  content: '';
  opacity: 1;
}

.form input[type=radio]:checked:before /* + .radio:before */ {
  opacity: 1;
  top: 50%;
  left: 20px;  
  width: 10px;
  height: 10px;
}

.form .checkbox:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 15px;
  display: block;
  margin-top: -12px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 4px;
  content: '';
}

.form .checkbox:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 21px;
  display: block;
  margin-top: -9px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #0073aa;
  border-bottom: 3px solid #0073aa;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);  
  transform: rotate(45deg);
}

.form input[type=checkbox]:checked:before /* + .checkbox:before */ {
  opacity: 1;
}


/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ tab */	

#tab01:target ~ div.tabContents div.content:nth-child(1),
#tab02:target ~ div.tabContents div.content:nth-child(2),
#tab03:target ~ div.tabContents div.content:nth-child(3) {
	display: block;
}

#tab02:target ~ div.tabContents div.content:first-child,
#tab03:target ~ div.tabContents div.content:first-child {
	display: none;
}

#tab01:target ~ ul.tabBtn li:nth-child(1) a,
#tab02:target ~ ul.tabBtn li:nth-child(2) a,
#tab03:target ~ ul.tabBtn li:nth-child(3) a {
	background: #333;
	color: #fff;
}

#tab01:target ~ ul.tabBtn li:not(:nth-child(1)) a,
#tab02:target ~ ul.tabBtn li:not(:nth-child(2)) a,
#tab03:target ~ ul.tabBtn li:not(:nth-child(3)) a {
	background: #ccc;
	color: #333;
}

div.trigger { display: none; }

ul.tabBtn {
	margin: 0;
	padding: 0;
}

ul.tabBtn li {
	margin: 0;
	padding: 0;
	position: relative;
	display: inline;
}

ul.tabBtn li::before {
	background: none;
	content: "";
	height: auto;
	left: 0;
	margin: 0;
	position: relative;
	top: 0;
	transition: none;
	width: auto;
}
		
ul.tabBtn li a {
	display: inline-block;
	padding: 0.5em 1em;
	background: #ccc;
	border-radius: 5px 5px 0 0;
	text-decoration: none;
}

#tab01 ~ ul.tabBtn li:nth-child(1) a,
ul.tabBtn li a:hover {
	background: #333;
	color: #fff;
}

div.tabContents {
	position: relative;
}

div.tabContents div.content {
	position: relative;
	display: none;
	top: 0;
	padding: 1em;
	box-sizing: border-box;
	border: 2px solid #ccc;
	border-radius: 0px 5px 5px 5px;
	animation: fadeIn 0.2s;
}

div.tabContents div.content:first-child {
	display: block;
}

/* ---------------------------------------------------------------------------------------------------------------------------------- print */
@media print {
	div.tabContents div.content {
		display: block;
	}
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ section common */

section
{	
	padding: 60px 0;
	position: relative;
	/* border-bottom: 3px solid #a8c904; */
	/* border-bottom: 2px dashed #ef90ac; */
	
	/* overflow: hidden; */
}

section div.title h1
{
	font-size: 4.0rem;
	font-weight: bold;	
	/* font-family: "Engagement"; */
}

section div.subtitle
{
    font-size: 3.0rem;
	font-weight: bold;
}

section div.title h2 {
    font-size: 3.8rem;
    font-weight: bold;
}

section div.title h2 img {
}


/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- section.mainVisual */

section.mainVisual {
	position: relative;
	padding: 0;
}

section.mainVisual div.groupLink {
	position: absolute;
	top: 50%;
	z-index: 1000;
	padding: 1em;
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	width: 100%;
	box-sizing: border-box;
}

section.mainVisual div.groupLink img {
	width: 600px;
	height: 120px;
	margin: 0 auto;
	display: block;
}







/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- section.topLinks */


section.topLinks {
	padding: 40px 0;
}

section.topLinks div.linkBox {
	margin: 0 auto 40px;
}

section.topLinks div.linkBox div.row {
	margin-bottom: 20px;
}

section.topLinks div.linkBox div.thumbnail {
	width: 32%;
	float: left;
	margin-right: 2%;
	box-sizing: border-box;
	border: 1px solid #eee;
}

section.topLinks div.linkBox div.thumbnail:nth-child(3n) {
	margin-right: 0;
}

section.topLinks div.linkBox div.thumbnail img {
	display: block;
}

section.topLinks div.linkBox div.spot {
	width: 45%;
}

section.topLinks div.linkBox div.spot img {
	display: block;
}


/* ---------------------------------------------------------------------------------------------------- div.link */

section.topLinks div.link {
	position: relative;
	padding: 1em 2em;
	background: #121946;
	width: 50%;
	margin-right: auto;
	margin-left: auto;
	
	font-size: 2.4rem;
	text-align: center;
}

section.topLinks div.link a {
	color: #fff;
	display: block;
}

section.topLinks div.link a:after {
	position: absolute;
	top: 50%;
	right: 15px;
	left: inherit;

	display: block;

	width: 10px;
	height: 10px;

	content: '';
	transition: all .2s ease-in-out;
	-webkit-transform: translate(0,-50%) rotate(45deg);
			transform: translate(0,-50%) rotate(45deg);

	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	
	background: none;
}

/* ---------------------------------------------------------------------------------------------------- footer */

footer {
	padding: 2em 0;
	background: #fff;
	position: relative;
	z-index: 1000;
	
	border-top: 10px solid #121946;
}

footer a {
	color: #333;
}

footer div.banner {
	width: 1160px;
	margin: 0 auto;	
}

footer div.banner ul li {
	float: left;
	width: 275px;
	margin-right: 20px;
}

footer div.banner ul li:last-child {
	margin-right: 0;
}

footer div.banner ul li img {
	width: 275px;
	height: 50px;
	display: block;	
}

/* ---------------------------------------------------------------------------------------------------- detail */

div.detail {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
