@charset "utf-8";
/* ===================================================================
CSS information

 file name  :style.css
 author     :第31回日本歯科審美学会・第39回日本接着歯学会合同学術大会
 style info :コンテンツエリア関係 他
 
このスタイルシートの構成
 基本設定、レイアウト、横幅設定など

背景カラー：

メインカラー：#203744　ネイビー
アクセントカラー：#B69232　ゴールド
アクセントカラー：#7D488C　パープル
アクセントカラー：#697D36　グリーン
アクセントカラー：#B8365A　レッド
=================================================================== */

/*----------------------------------------------------
	リンク
----------------------------------------------------*/
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-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 #1D8C9F;
	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/img_bg_body-top-right.png") top right fixed no-repeat, url("../img/common/img_bg_body-bottom-left.png") bottom left fixed no-repeat;
	border-top: 4px solid #B69232;
}

/* ウィンドウ幅が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;
}

.p-section__main {
	position: relative;
	flex-basis: 750px;
	padding: 0 0 80px;	
}

/* ウィンドウ幅が0〜479pxの場合に適用するCSS */
@media screen and (max-width: 479px) {
	.p-section__main {
		min-height: 1800px;	
	}
}

.p-section__side {
	flex-basis: 230px;
	margin: 0 10px;
	background-color: #203744;
	z-index: 1;
}

.p-text-area {
	position: relative;
	width: 730px;
	min-height: 710px;
	height: auto !important;	
	margin: 0 auto;
	padding: 50px 25px 150px;
	background-color: #FFF;
	border: 1px solid #AAA;
	-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: 730px;	
	margin: 0 auto 10px;
	padding: 10px 30px;
	background: url("../img/common/img_h2_bg.png") center no-repeat;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;	
}

.c-title__h2 {
	position: relative;
	font-size: 2.2rem;
	font-weight: 700;
	color: #222;
}

.c-title__h2 span {
	padding: 0 18px;
	background-color: #FFF;
}

.c-title__h3 {
	position: relative;
	margin: 75px 0 35px;
	padding: 10px 15px;	
	background-color: #EEE;
	border-left: 6px solid #B69232;
	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: #203744;
	-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: 180px;
}

.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;
	border-radius: 26px;	
	-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: #1D8C9F;
	color: #FFF;
}

/*---------- color レッド ----------*/
.c-btn.-type__red {
	background-color: #B8365A;
	color: #FFF;
}

/*---------- color グリーン ----------*/
.c-btn.-type__green {
	background-color: #697D36;
	color: #FFF;
}

/*---------- color パープル ----------*/
.c-btn.-type__purple {
	background-color: #7D488C;
	color: #FFF;
}

/*---------- color オレンジ ----------*/
.c-btn.-type__orange {
	background-color: #B85336;
	color: #FFF;
}

/*---------- border ホワイト ----------*/
.c-btn.-type__border-white {
	background-color: transparent;
	border: 1px solid #FFF;
	box-shadow: none;
}

/*---------- color イエロー ----------*/
.c-btn.-type__yellow {
	background-color: #B69232;
	color: #FFF;
}

/*---------- 準備中 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;
}

/*---------- ol 数字、括弧付き ----------*/
.c-list__paren > li {
	list-style-type: none;
	counter-increment: cnt;
	margin-left: .5em;
}
 
.c-list__paren > li::before {
	content: "(" counter(cnt) ") ";
}

/*---------- 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: #B69232;
	-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 #4848AA;
	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: #FFEECA;
	border: 3px solid #B69232;	
}

.c-box__text-limit .c-strong {
	font-size: 1.5rem;
 	font-weight: 700;
}

/* -----------------------------------------------------------
	.p-section__side
		サイドセクション
----------------------------------------------------------- */
/*---------- メインメニュー ----------*/
.p-side__main-menu {
	width: 100%;
	margin: 0 auto 20px;
}

.p-side__main-menu-content {
	position: relative;
	width: 230px;
}

.p-side__main-menu-item {
	position: relative;	
	overflow: hidden;
	list-style-type: none !important;	
	width: 100%;
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;	
	box-sizing: border-box;		
}

.p-side__main-menu-item::before {
	position: absolute;
	content: "";
	top: 37%;
	left: 18px;
	width: 0;
	height: 0;
	border: 5px solid transparent;
	border-left: 7px solid #B69232;
	box-sizing: border-box;	
	z-index: 20;
}

.p-side__main-menu-item a {
	position: relative;
  display: block;	
	margin: 0;
	padding: 18px 5px 18px 35px;
	border-bottom: 1px solid RGBa(255, 255, 255, .3);	
	text-align: left;
	font-size: .95rem;
	font-weight: 500;
	line-height: 1.3;
	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, 
.p-side__main-menu-item.current a {
	background: url("../img/common/img_nav_bg.png") repeat;
	color: #FFF;
}

.p-side__main-menu-item:hover::before,
.p-side__main-menu-item.current::before {
	top: 40%;
	left: 16px;	
	border-top: 7px solid #FFF;
	border-left: 5px solid transparent;
}

/*-- 赤 --*/
.p-side__main-menu-item.-type__red a {
	background-color: #912A47;
}

/*---------- インフォメーションエリア ----------*/
.p-side__info {
}

/*---------- バナーエリア ----------*/
.p-side__bnr-area {
	width: 100%;
	margin: 40px auto;
}

.p-side__bnr-area-item {
	margin: 0 0 20px;
	text-align: center;
}