@charset "utf-8";
/* ===================================================================
CSS information

 file name  :style.css
 author     :第38回日本障害者歯科学会総会および学術大会
 style info :コンテンツエリア関係 他
 
このスタイルシートの構成
 基本設定、レイアウト、横幅設定など

背景カラー：

メインカラー：#004B65　ネイビー
アクセントカラー：#EE982B　オレンジ
=================================================================== */

/*----------------------------------------------------
	リンク
----------------------------------------------------*/
a:link {
	color: #3266D5;
}

a:visited {
	color: #3266D5;
}

a:hover {
	text-decoration: none;
	color: #7195E2;	
}

a:active {
}

/*----------------------------------------------------
　Selected Text
----------------------------------------------- */
::selection {
	background-color: #B3D4FB;
	color: #222;
}

::-moz-selection {
	background-color: #B3D4FB;
	color: #222;
}

/*----------------------------------------------------
	汎用class
	※基本頭文字は小文字で
----------------------------------------------------*/
.c-img__right {
	float: right;
	margin: 0 0 10px 10px;
}

.c-img__left {
	float: left;
	margin: 0 10px 10px 0;
}

.c-text__indent {
	text-indent: 1em;
}

.c-text__justify {
	text-align: justify;
	text-justify: inter-ideograph;
}

.c-roll:hover {
	-webkit-opacity: .7;
	opacity: .7;
	transition: all .2s;			
}

.c-strong {
	font-weight: 700;
}

.c-center {
	margin: 0 auto;
	text-align: center;
}

.c-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-point {
	color: #E42E3A;
}

.c-marker {
	background: linear-gradient(transparent 65%, #F88080 65%);
	font-weight: bold; 
}

.c-link {
	position: relative;
	display: inline-block;
	padding-left: 16px;
}

.c-link::before {
	content: '';
	position: absolute;
	top: .8em;
	left: 3px;	
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 6px solid #0072A8;
	margin: -4px 0 0;
}

.c-link__pdf::after,
.c-link__word::after,
.c-link__excel::after,
.c-link__ppt::after,
.c-link__zip::after {
	content: "";
	position: relative;	
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;	
	margin-left: 5px;	
	vertical-align: text-bottom;	
}

.c-link__pdf::after {
	background-image: url(../img/icon/icon_pdf.png);
}

.c-link__word::after {
	background-image: url(../img/icon/icon_word.png);
}

.c-link__excel::after {
	background-image: url(../img/icon/icon_excel.png);
}

.c-link__ppt::after {
	background-image: url(../img/icon/icon_powerpoint.png);
}

.c-link__zip::after {
	background-image: url(../img/icon/icon_zip.png);
}

.c-blank::after {
	content: url(../img/icon/icon_blank.png);	
	position: relative;
	top: 2px;	
	margin: 0 5px;
}

.c-phot {
	padding: 4px;	
	border: 1px solid;	
	background-color: #FFF;
	border-color: #dfdfdf #adadad #adadad #dfdfdf;
}

/* clearfix */
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/*----------------------------------------------------
	#ワイヤーフレーム
----------------------------------------------------*/
html,
body,
.l-container {
	margin: 0;	
	padding: 0;
	width: 100%;
}

/* ウィンドウ幅が0〜1000pxの場合に適用するCSS */
@media screen and (max-width: 1000px) {
	html,
	body,
	.l-container {
		width: 1000px;
		margin: 0 auto;
	}
}

.l-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	background: url("../img/common/bg_body.jpg") no-repeat fixed;
	background-size: cover;
}

/* ウィンドウ幅が0〜1000pxの場合に適用するCSS */
@media screen and (max-width: 1000px) {
	.l-container {
		width: 1000px;
		margin: 0 auto;
		background: none;
		font-size: 17px;
	}
}

/* ウィンドウ幅が0〜768pxの場合に適用するCSS */
@media screen and (max-width: 768px) {
	.l-container {
		font-size: 19px;
	}
}

/* ウィンドウ幅が0〜479pxの場合に適用するCSS */
@media screen and (max-width: 479px) {
	.l-container {
		font-size: 20px;
	}
}

.p-section {
	position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;	
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-direction: row-reverse;
	-moz-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;	
	-webkit-box-items: stretch;
	-moz-align-items: stretch;
	-ms-align-items: stretch;
	align-items: stretch;
	clear: both;
	width: 1000px;
	min-height: 800px;
	margin: 0 auto;
	background-color: #7EE0FF;
}

.l-body__top-page .p-section {
	background: none;
}

.p-section__main {
	position: relative;
	flex-basis: 750px;
	padding: 0 0 50px;	
}

/* ウィンドウ幅が0〜479pxの場合に適用するCSS */
@media screen and (max-width: 479px) {
	.p-section__main {
		min-height: 1800px;	
	}
}

.p-section__side {
	flex-basis: 250px;
	margin: 0 auto;
	background-color: #66baff;
	z-index: 1;
}

.p-text-area {
	position: relative;
	width: 710px;
	min-height: 710px;
	height: auto !important;	
	margin: 0 auto;
	padding: 50px 25px 150px;
	background-color: #FFF;
	box-shadow: 0 12px 10px -6px rgba(0, 0, 0, .3);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* ウィンドウ幅が0〜479pxの場合に適用するCSS */
@media screen and (max-width: 479px) {
	.p-text-area {
		min-height: 1700px;	
	}
}

/* -----------------------------------------------------------
	見出し
----------------------------------------------------------- */
.p-page-title {
	position: relative;
	width: 710px;
	margin: 15px auto 0;
	padding: 50px 30px 10px;
	background-color: #FFF;
	border-radius: 25px 25px 0 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;	
}

.c-title__h2 {
  position: relative;
  padding: 15px 25px 25px;
  background: rgba(126, 224, 255, .6);
	font-size: 1.7rem;		
	font-weight: 700;
	color: #081D31;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;	
}

.c-title__h2:before {
  content: '';
  position: absolute;
  top: -7px;
  left: -7px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  border: 3px solid #10375C;
}

.c-title__h3 {
	position: relative;
	margin: 75px 0 35px;
	padding: 10px 15px;	
	background-color: #EEE;
	border-left: 6px solid #66baff;
	font-size: 1.4rem;
	font-weight: 700;	
}

.p-text-area > .c-title__h3:first-of-type {
	margin-top: 0;
}

.c-title__h4 {
	position: relative;	
	margin: 55px 0 20px;
	padding: 0 10px 0 22px;
	font-size: 1.2rem;	
	font-weight: 600;
}

.c-title__h4::after {
	content: '';	
	position: absolute;
	top: .45em;
	left: 0;
	z-index: 2;
	width: 12px;
	height: 12px;
	background-color: #EE982B;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.c-title__h5 {
	position: relative;
	margin: 35px 0 10px;
	padding: 0 10px;	
	border-left: 5px solid #7C7C7C;	
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.3;
}

.c-title__h3 + .c-title__h4,
.c-title__h4 + .c-title__h5 {
	margin-top: 0;
}

.c-title__h6 {
	margin: 10px 0 5px;
	font-weight: 700;
	font-size: 1.05rem;
}

/* -----------------------------------------------------------
	.c-btn
		ボタン
----------------------------------------------------------- */
.c-btn__container {
	display: block;
	text-align: center;	
	width: 300px;
	margin: 10px auto;
}

.c-btn__container.-wide {
	width: 360px;
}

.c-btn__container.-narrow {
	width: 250px;
}

.c-btn__container.-narrower {
	width: 230px;
}

.c-btn {
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 13px 5px;
	background-color: #3C3C3C;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 500;
	color: #FFF;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	box-shadow: 0 12px 10px -6px rgba(0, 0, 0, .3);
	transition: .4s;
}

.c-btn:hover {
	-webkit-opacity: .7;
	opacity: .7;
}

.c-btn:active {
	top: 3px;
	box-shadow: none;
}

.c-btn:link,
.c-btn:visited {
	color: #FFF;
}

/*---------- 右矢印付き　----------*/
.c-btn.-arrow__r::before,
.c-btn.-arrow__r::after {
	position: absolute;	
	content: "";
	width: 8px;
	height: 1px;	
	top: 0;	
	right: 10%;	
	bottom: 0;
	margin: auto;
	background-color: #FFF;	
	transition: background .2s ease;
	transform-origin: right center;
	transform: rotate(40deg);
}

.c-btn.-arrow__r::after {
	transform: rotate(-40deg);
}

/*---------- アイコン付き　----------*/
.c-btn.-link__pdf::after,
.c-btn.-link__word::after,
.c-btn.-link__excel::after,
.c-btn.-link__ppt::after,
.c-btn.-link__zip::after {
	content: "";
	position: relative;	
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	width: 24px;
	height: 24px;	
	margin-left: 6px;	
	vertical-align: top;
}

.c-btn.-link__pdf::after {
	background-image: url("../img/icon/icon_pdf__white.png");
}

.c-btn.-link__word::after {
	background-image: url("../img/icon/icon_word__white.png");
}

.c-btn.-link__excel::after {
	background-image: url("../img/icon/icon_excel__white.png");
}

.c-btn.-link__ppt::after {
	background-image: url("../img/icon/icon_powerpoint__white.png");
}

.c-btn.-link__zip::after {
	background-image: url("../img/icon/icon_zip__white.png");
}

/*---------- color ホワイト ----------*/
.c-btn.-type__white {
	background-color: #FFF;
	color: #3C3C3C;
}

.c-btn.-type__white:link,
.c-btn.-type__white:visited {
	color: #3C3C3C;
}

/*---------- color ブルー ----------*/
.c-btn.-type__blue {
	background-color: #00A4E9;
}

/*---------- color グリーン ----------*/
.c-btn.-type__green {
	background-color: #00AA7B;
}

/*---------- color オレンジ ----------*/
.c-btn.-type__orange {
	background-color: #EE982B;
}

/*---------- border ホワイト ----------*/
.c-btn.-type__border-white {
	background-color: transparent;
	border: 1px solid #FFF;
	box-shadow: none;
}

/*---------- color イエロー ----------*/
.c-btn.-type__yellow {
	background-color: #FDD000;
	color: #2C2C2C;
}

.c-btn.-type__yellow.-arrow__r::before,
.c-btn.-type__yellow.-arrow__r::after {
	background-color: #2C2C2C;
}
.c-btn.-type__yellow:link,
.c-btn.-type__yellow:visited,
.c-btn.-type__yellow:hover {
	color: #2C2C2C;
}

/*---------- 準備中 transparent ----------*/
.c-btn.-tba,
.c-btn.-tba:hover {
	-webkit-opacity: .6;
	opacity: .6;
}

.c-btn.-tba:active {
	top: 0;
	box-shadow: 0 12px 10px -6px rgba(0, 0, 0, .3);			
}

/* -----------------------------------------------------------
	.c-list
		リスト
----------------------------------------------------------- */
.c-list li {
	margin: 0 0 .5em 1.5em;	
}

/*---------- ol 数字、ドット付き ----------*/
.c-list__decimal > li {
	list-style-type: decimal;
}

/*---------- ul 丸付き ----------*/
.c-list__disc > li {
	list-style-type: disc;
}

/*---------- ul テキスト向け ひし形付き ----------*/
.c-list__text > li {
	list-style: none !important;
	position: relative;
	margin: 0 0 .5em 1.5em;	
}

.c-list__text > li::before {
	position: absolute;	
	display: block;
	content: '';
	top: .6em;
	left: -.9em;
	width: 6px;
	height: 6px;
	background-color: #0072A8;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/*---------- ul リンク向け 三角付き ----------*/
.c-list__link > li {
	list-style-type: none !important;
	position: relative;
	margin: 0 0 .5em;	
	padding: 0 0 0 16px;
}

.c-list__link > li::before {
	content: '';
	position: absolute;
	top: .8em;
	left: 3px;	
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 6px solid #0072A8;
	margin: -4px 0 0;
}

/* -----------------------------------------------------------
	.c-table	
		テーブル
----------------------------------------------------------- */
.c-table {
	width: 100%;
}

/*---------- .c-table__type01 th 左固定 ----------*/
.c-table__type01 {
	border-top: 1px solid #CCC;		
}

.c-table__type01 th,
.c-table__type01 td {
	padding: 10px 20px;	
}

.c-table__type01 th {
	background-color: #EEE;
	border-right: 1px solid #CCC;	
	border-bottom: 1px solid #CCC;
	text-align: left;	
	vertical-align: top;
	font-weight: 500;
}

.c-table__type01 td {
	border-right: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}

.c-table__type01 td:last-of-type {
	border-right: 0;	
}

/*---------- .c-table__type02 th 上固定 ----------*/
.c-table__type02 {
	border-top: 1px solid #CCC;		
}

.c-table__type02 th,
.c-table__type02 td {
	padding: 10px 20px;	
}

.c-table__type02 thead th {	
	background-color: #EEE;
	border-right: 1px solid #CCC;	
	border-bottom: 1px solid #CCC;		
	text-align: center;		
	font-weight: 500;		
}

.c-table__type02 tbody th {
	border-right: 1px solid #CCC;	
	border-bottom: 1px solid #CCC;
	text-align: left;	
	vertical-align: top;
	font-weight: 500;
}

.c-table__type02 td {
	border-right: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}

.c-table__type02 thead th:last-of-type,
.c-table__type02 td:last-of-type {
	border-right: 0;	
}

/*---------- .c-table__type02 .c-table__type_fee　費用 ----------*/
.c-table__type02.c-table__type_fee {
	margin: 30px auto;
}

.c-table__type02.c-table__type_fee thead th {
	background-color: #555;
	border-bottom: 1px solid #DDD;	
	vertical-align: middle;
	font-size: 1.05rem;
	font-weight: 400;
	color: #FFF;
}

.c-table__type02.c-table__type_fee tbody th {
	background-color: #EEE;
	vertical-align: middle;
}

.c-table__type02.c-table__type_fee td {
	text-align: right;
}

/* -----------------------------------------------------------
	.c-box
		ボックス
----------------------------------------------------------- */
.c-box {
	position: relative;
	margin: 15px auto;
	background-color: #F7F7F7;
	word-break: break-all;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;	
}

.c-box__border {
	padding: 25px;
	background: none;
	border: 1px solid #CCC;
}

.c-box__point {
	padding: 25px;
	background-color: RGBa(228, 46, 58, .08);
	border: 3px solid #EF858C;
}

/*---------- 期間用 ----------*/
.c-box__text-limit {
	position: relative;
	margin: 25px;	
	padding: 25px 10px;	
	background-color: #FAD7C8;
	border: 3px solid #EE982B;
}

.c-box__text-limit .c-strong {
	font-size: 1.5rem;
 	font-weight: 700;
}

/* -----------------------------------------------------------
	.p-section__side
		サイドセクション
----------------------------------------------------------- */
/*---------- ロゴ ----------*/
.p-side__logo {
	position: relative;
}

.p-side__logo-inner {
	padding: 20px 0;
	text-align: center;		
}

/*---------- メインメニュー ----------*/
.p-side__main-menu {
	width: 100%;	
}

.p-side__main-menu-content {
	position: relative;
	border-top: 1.5px solid rgba(0, 0, 0, .4);
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.p-side__main-menu-item {
	position: relative;	
	overflow: hidden;
	list-style-type: none !important;	
	width: 100%;
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
	border-bottom: 1.5px solid rgba(0, 0, 0, .4);
	-webkit-box-sizing: border-box;	
	box-sizing: border-box;		
}

.p-side__main-menu-item::before {
	position: absolute;
	content: "";
	top: 42%;
	right: 20px;
	width: 7px;
	height: 7px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	border-color: #FFF;
	transform: rotate(50deg);
	transition: .2s ease-out;
	transition-property: background, transform;
	box-sizing: border-box;	
	z-index: 20;
}

.p-side__main-menu-item:hover::before {
	color: #202020;
	-webkit-transition: all .3s;
	transition: all .3s;		
}

.p-side__main-menu-item a {
	position: relative;
  display: block;	
	margin: 0;
	padding: 12px 5px 12px 20px;
	text-align: left;
	font-size: .95rem;
	font-weight: 500;
	text-decoration: none;
	z-index: 10;
}

.p-side__main-menu-item a:link, 
.p-side__main-menu-item a:visited {
	color: #FFF;
}

.p-side__main-menu-item a:hover {
	-webkit-transition: all .3s;
	transition: all .3s;	
}

.p-side__main-menu-item a:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  box-sizing: border-box;
}

.p-side__main-menu-item a:hover:after {
  animation-name: hover_action;
	animation-duration: .3s;
	animation-fill-mode: forwards;
}

.p-side__main-menu-item .p-side__main-menu-text {
  position: relative;
  z-index: 1;
}

@keyframes hover_action {
	0% {width: 0;}
	100% {width: 100%; background: #EE982B;}
}

.p-side__main-menu-item.current a {
	background-color: rgba(0, 0, 0, .5);
}

/*---------- インフォメーションエリア ----------*/
.p-side__info {
}

/*---------- バナーエリア ----------*/
.p-side__bnr-area {
	width: 100%;
	margin: 40px auto;
}

.p-side__bnr-area-item {
	margin: 0 0 20px;
	text-align: center;
}