@charset "UTF-8";


/*
common
-----------------------------------------------------------------------------*/
/* ◆テキスト */
#main p {
    font-size: 1.8rem;
}
.p-catchDesc {
	font-size:2.3rem;
}
@media screen and (max-width: 1000px) {
	.p-catchDesc {
		font-size:1.8rem;
	}
}

/* ◆テキストリンク */
.txtLink {
	font-weight:600;
}

/* ◆見出し */
h2.hdg-d {
	color:#000;
	font-size: 4rem;
	font-weight:600;
	margin-bottom:24px;
}
h2.hdg-d span {
	display:block;
	font-size:2.4rem;
	line-height:1;
}
@media screen and (max-width: 768px) {
	h2.hdg-d {font-size: 3rem;}
	h2.hdg-d span {font-size: 2rem;}
}
@media screen and (max-width: 480px) {
	h2.hdg-d {/* font-size: 2.4rem; */}
	h2.hdg-d span {font-size: 1.8rem;}
}

/* ◆セクション幅 */
.main-contents .section-inner.u-w-1100,
.main-contents .content-inner.u-w-1100 {
	 max-width: 1100px;
}
.main-contents .section-inner.u-w-1280,
.main-contents .content-inner.u-w-1280 {
	 max-width: 1280px;
}
.main-contents .section-inner.u-w-1680,
.main-contents .content-inner.u-w-1680 {
	 max-width: 1680px;
}

/* ◆インナーの余白 */
.main-contents .section-inner,
.main-contents .section+.section .section-inner {
	padding: 40px 16px;
}
.main-contents .section .section-inner.p-inner_small {
	padding: 32px 0 24px;
}

/* ◆カラム */
.p-Col {
	display:flex;
	justify-content: space-between;
	flex-wrap:wrap;
}
@media only screen and (max-width: 768px) {
	.p-Col {flex-direction: column;}
	.p-Col .col {
		width:100% !important;
		margin-left:0 !important;
	}
}

/* ◆SVGボタン */
.c-btn {
	display: inline-block;
	font-size: 3rem;
	color: #000;
	text-decoration: none;
	position: relative;
	top: 5px;
}
.c-btn-l {font-size: 1.4rem;}
.c-btn-white {color: #fff;}
.c-btn-white:hover {color: #fff;}
.c-btn-white:active,.c-btn-white:focus {color: #fff;}
.c-btn-ico {
	position: relative;
	display: inline-block;
	width: 38px;
	height: 38px;
	vertical-align: middle;
	top: -3px;
	margin-left: 6px;
}
.c-btn-ico::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1px solid #000;
	opacity: 0;
	z-index: 0;
}
.c-btn-ico svg {
	fill: #000;
	stroke:#000;
	position: absolute;
	left: 0;
}
.c-btn-ico svg .circle {
	fill: none;
	stroke: #000;
	stroke-width: 2px;
	width: 100%;
	height: 100%;
	-webkit-transform-origin: center;
	-ms-transform-origin: center;
	transform-origin: center;
}
.c-btn-ico svg .arrow {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
	-webkit-transition: -webkit-transform .3s ease-in-out;
	transition: -webkit-transform .3s ease-in-out;
	-o-transition: transform .3s ease-in-out;
	transition: transform .3s ease-in-out;
	transition: transform .3s ease-in-out,-webkit-transform .3s ease-in-out;
}
.c-btn-ico-white::before {border-color: #fff;}
.c-btn-ico-white svg {
	fill: #fff;
	stroke: #fff;
	stroke-width:3px;
}
.c-btn-ico-white svg .circle {
	fill: none;
	stroke: #fff;
	stroke-width:4px;
}
a:hover .c-btn .c-btn-ico::before {opacity: .1;}
a:hover .c-btn .c-btn-ico svg .arrow {
	-webkit-animation: arrow 1.5s forwards ease-in-out;
	animation: arrow 1.5s forwards ease-in-out;
}
a:hover .c-btn .c-btn-ico svg .circle {
	fill: transparent;
	stroke: #000;
	stroke-width:2px;
	-webkit-animation: circle 2s forwards cubic-bezier(.215,.61,.355,1);
	animation: circle 2s forwards cubic-bezier(.215,.61,.355,1);
}
a:hover .c-btn.c-btn-white .c-btn-ico-white svg .circle {
	fill: transparent;
	stroke: #fff;
	stroke-width:4px;
}
a.c-btn:hover .c-btn-ico::before {
	opacity: .1;
	-webkit-animation: arrow_bg 2s forwards cubic-bezier(.215,.61,.355,1);
	animation: arrow_bg 2s forwards cubic-bezier(.215,.61,.355,1);
}
a.c-btn:hover .c-btn-ico svg .arrow {
	-webkit-animation: arrow 1.5s forwards ease-in-out;
	animation: arrow 1.5s forwards ease-in-out;
}
a.c-btn:hover .c-btn-ico svg .circle {
	fill: transparent;
	stroke: #000;
	stroke-width: 1;
	-webkit-animation: circle 2s forwards cubic-bezier(.215,.61,.355,1);
	animation: circle 2s forwards cubic-bezier(.215,.61,.355,1);
}
a.c-btn-white:hover .c-btn-ico-white::before {
	opacity: .2;
	-webkit-animation: arrow_bg 2s forwards cubic-bezier(.215,.61,.355,1);
	animation: arrow_bg 2s forwards cubic-bezier(.215,.61,.355,1);
}
a.c-btn-white:hover .c-btn-ico-white svg .circle {
	fill: transparent;
	stroke: #fff;
	stroke-width: 1;
}
@keyframes arrow_bg {
	0% {opacity: .1;}
	100% {opacity: 0;}
}
@keyframes arrow {
	0% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	10% {
		opacity: 0;
		-webkit-transform: translateX(50%);
		transform: translateX(50%);
	}
	25% {
		opacity: 0;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	40% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}
@keyframes circle {
	0% {
		stroke-dasharray: 0 300;
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	10% {stroke-dasharray: 50 100;}
	20% {stroke-dasharray: 100 200;}
	30% {stroke-dasharray: 150 300;}
	40% {stroke-dasharray: 200 300;}
	60% {
		stroke-dasharray: 300 300;
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/* ◆リンクボックス */
.p-Box_m {
	border: 1px solid #D80084;
	color: #FFFFFF;
	background: #D80084;
	font-weight: 600;
	padding: 24px 36px;
	text-decoration: none;
	border-radius: 40px;
}



/* ローカル
============================================================================ */

/*
◆common
-----------------------------------------------------------------------------*/
.p-bg_wh {
	background:#fff;
	padding:24px;
}
.p-bg_wh h3 {
	font-size:2.6rem;
	margin-bottom:16px;
}
.list-a li {margin-top:4px !important;}
@media only screen and (max-width: 480px) {
	.p-Box_m {
		position: relative;
		top: 2px;
		padding: 16px 24px;
	}
	.c-btn {
		font-size: 2rem;
		top: 2px;
	}
	.c-btn-ico {
		width: 26px;
		height: 26px;
		top: -2px;
	}
}
@media only screen and (max-width: 300px) {
	.c-btn {
		font-size:calc(70vw*100/1280);
		top:0;
	}
	.c-btn-ico {
		width: calc(90vw*100/1280);
		height: calc(90vw*100/1280);
	}
	.p-Box_m {padding: 12px 24px ;}
}

/*
◆KV
-----------------------------------------------------------------------------*/
#custom-banner {
	background-size: 100% !important;
	min-height: 32.5vw;
}

/*
◆コンバージョンエリア
-----------------------------------------------------------------------------*/
.p-Conv {background:#3c3c3c;}
.p-Conv * {color:#fff;}
.main-contents .section.p-Conv .section-inner {padding-top: 44px;}
.p-Conv .p-Col {justify-content: center;}
.p-Conv .p-Col .col:last-child {margin-left: 16px;}
.p-Conv .p-Col .p-Box_m {
	position: relative;
	top: 2px;
	padding: 16px 24px;
}
.p-Conv .p-Col .c-btn {
	font-size: 2rem;
	top: 2px;
}
.p-Conv .p-Col .c-btn-ico {
	width: 26px;
	height: 26px;
	top: -2px;
}
@media only screen and (max-width:1214px) and (min-width: 769px) {
	.p-Conv p {padding-bottom:24px;}
}
@media only screen and (max-width:768px) {
	.p-Conv .p-Col .col {
		text-align:center;
		margin-bottom:32px;
	}
	.p-Conv .p-Col .col:last-child {margin-bottom:0;}
}

/*
◆キーノート
-----------------------------------------------------------------------------*/
.p-Keynotes {background:#3c3c3c;}
.p-Keynotes * {color:#fff;}
.main-contents .section.p-Keynotes .section-inner {
	padding-bottom: 56px;
}
.p-Keynotes h2.hdg-d {
	color:#fff;
	margin: 0 0 8px;
}
.p-Keynotes h2.hdg-d + p {margin-top:0 !important;}
.p-Keynotes .p-Col {margin-bottom: 56px;}
.p-Keynotes .p-Col .txt {width:59%;}
.p-Keynotes .p-Col .visual {
	width:39%;
}
.p-Keynotes .p-Col .visual .bg {
	padding:24px;
	background:#fff;
	text-align:center;
}
.p-Keynotes .p-Col .visual .bg span {color:#000;}
.p-Keynotes .p-Col .visual img {
	display: block;
	margin: 0 auto 8px;
}
@media only screen and (max-width:768px) {
	.p-Keynotes .p-Col .txt {margin-bottom:24px;}
	.p-Keynotes .p-Col .visual .bg {
		width:70%;
		margin:0 auto;
		padding:24px 8px;
	}
}

/*
◆テクノロジーセッション
-----------------------------------------------------------------------------*/
.p-Guest_02 {background:#efefef;}
.p-Guest_02 h2.hdg-d {
	text-align:center;
	margin: 0 0 8px;
}
.p-Guest_02 h2.hdg-d + p {
	margin-top:0 !important;
	text-align:center;
}
.p-Guest_02 h3.hdg-d {
	color:#000;
	font-size:3.2rem;
	margin: 0 0 8px;
}
.p-Guest_02 h3.hdg-d + p {margin-top:0 !important;}
.p-Guest_02 .p-Col {margin-bottom: 56px;}
.p-Guest_02 .p-Col .txt {width:59%;}
.p-Guest_02 .p-Col .visual {
	width:39%;
}
.p-Guest_02 .p-Col .visual .bg {
	padding:24px;
	background:#fff;
	text-align:center;
}
.p-Guest_02 .p-Col .visual .bg span {color:#000;}
.p-Guest_02 .p-Col .visual img {
	display: block;
	margin: 0 auto 8px;
}
@media only screen and (max-width:768px) {
	.p-Guest_02 h3.hdg-d {font-size:2.6rem;}
	.p-Guest_02 .p-Col .txt {margin-bottom:24px;}
	.p-Guest_02 .p-Col .visual .bg {
		width:70%;
		margin:0 auto;
		padding:24px 8px;
	}
}

/* ///////////////////////////// */

.p-Guest {background:#efefef;}
.p-Guest h2.hdg-d {
	text-align:center;
	margin: 0 0 8px;
}
.p-Guest h2.hdg-d + p {
	text-align:center;
	margin-top:0 !important;
}
.p-Guest .p-Col {justify-content: space-around;}
.p-Guest .p-Col .visual {
	width: 42%;
	text-align:center;
}
.p-Guest .p-Col .visual .p-bg_wh {margin-top:16px;}
.p-Guest .p-Col .visual img {
	display: block;
	margin: 0 auto 8px;
}
.p-Guest h3.title {font-size: 2.2rem;}
.p-Guest h3.title .sub {font-size: 2.4rem;}
.p-Guest h3.title+p {margin-top:0 !important;}
@media only screen and (max-width:768px) {
	.p-Guest .p-Col .visual .p-bg_wh {
		width:70%;
		margin:16px auto;
	}
	.p-Guest h3.title {font-size: 2.6rem;}
	.p-Guest h3.title .sub {font-size: 2.2rem;}
}

/*
◆お問い合わせ
-----------------------------------------------------------------------------*/
.p-Contact {background:#efefef;}
.main-contents .section.p-Contact .section-inner {
	padding-top: 0;
}
.p-Contact .section-inner:after {content: none;}

/*
◆注記
-----------------------------------------------------------------------------*/
.p-Notes {background:#efefef;}
.main-contents .section.p-Notes .section-inner {
	padding: 0 16px 82px;
}
.p-Notes .section-inner:after {content: none;}
.p-Notes p {margin-top:0 !important;}


/* Object - Utility
 * 調整のためのパーツ
============================================================================ */

/* 位置調整
 * ----------------------------------------- */

/* オブジェクトの縦位置 */
.main-contents .u-va-middle { vertical-align: middle; }
.main-contents .u-va-baseline { vertical-align: baseline; }

/* オブジェクトの横位置 */
@media screen and (max-width: 768px) {
	.u-ta-tab-c {text-align:center !important;}
	.u-ta-tab-l {text-align:left !important;}
	.u-ta-tab-r {text-align:right !important;}
}
@media screen and (max-width: 480px) {
	.u-ta-sp-c {text-align:center !important;}
	.u-ta-sp-l {text-align:left !important;}
	.u-ta-sp-r {text-align:right !important;}
}

/* ----- 中央揃え ----- */
/* 全サイズ ■ ■ ■ */
	.u-m-a {margin: auto !important;}
/* PCのみ ■ □ □ */
@media screen and (min-width: 769px) {
	.u-m-a-pc {margin: auto !important;}
}
/* タブレット以下で中央 □ ■ ■ */
@media screen and (max-width: 768px) {
	.u-m-a-tab {margin: auto !important;}
}
/* タブレットのみ中央 □ ■ □ */
@media only screen and (max-width: 768px) and (min-width: 481px) {
	.u-m-a-tabOnly {margin: auto !important;}
}
/* モバイル以上で中央 ■ ■ □ */
@media screen and (min-width: 481px) {
	.u-m-a-spUp {margin: auto !important;}
}
/* モバイルのみ中央 □ □ ■ */
@media screen and (max-width: 480px) {
	.u-m-a-sp {margin: auto !important;}
}

/* ----- 高さ（打ち消し） ----- */
/* 全サイズ ■ ■ ■ */
.u-h-inhrt {height: inherit !important;}
.u-minh-inhrt {min-height: inherit !important;}
/* PCのみ打ち消し ■ □ □ */
@media screen and (min-width: 769px) {
	.u-h-inhrt-pc {height: inherit !important;}
	.u-minh-inhrt-pc {min-height: inherit !important;}
}
/* タブレット以下で打ち消し □ ■ ■ */
@media screen and (max-width: 768px) {
	.u-h-inhrt-tab {height: inherit !important;}
	.u-minh-inhrt-tab {min-height: inherit !important;}
}
/* タブレットのみ打ち消し □ ■ □ */
@media only screen and (max-width: 768px) and (min-width: 481px) {
	.u-h-inhrt-tabOnly {height: inherit !important;}
	.u-minh-inhrt-tabOnly {min-height: inherit !important;}
}
/* モバイル以上で打ち消し ■ ■ □ */
@media screen and (min-width: 481px) {
	.u-h-inhrt-spUp {height: inherit !important;}
	.u-minh-inhrt-spUp {min-height: inherit !important;}
}
/* モバイルのみ打ち消し □ □ ■ */
@media screen and (max-width: 480px) {
	.u-h-inhrt-sp {height: inherit !important;}
	.u-minh-inhrt-sp {min-height: inherit !important;}
}

/* ----- マージン（打ち消し） ----- */
/* 全サイズで打ち消し ■ ■ ■ */
	.u-mt-inhrt {margin-top: inherit !important;}
	.u-mb-inhrt {margin-bottom: inherit !important;}
	.u-ml-inhrt {margin-left: inherit !important;}
	.u-mr-inhrt {margin-right: inherit !important;}
/* PCのみで打ち消し ■ □ □ */
@media screen and (min-width: 769px) {
	.u-mt-inhrt-pc {margin-top: inherit !important;}
	.u-mb-inhrt-pc {margin-bottom: inherit !important;}
	.u-ml-inhrt-pc {margin-left: inherit !important;}
	.u-mr-inhrt-pc {margin-right: inherit !important;}
}
/* タブレット以下で打ち消し □ ■ ■ */
@media screen and (max-width: 768px) {
	.u-mt-inhrt-tab {margin-top: inherit !important;}
	.u-mb-inhrt-tab {margin-bottom: inherit !important;}
	.u-ml-inhrt-tab {margin-left: inherit !important;}
	.u-mr-inhrt-tab {margin-right: inherit !important;}
}
/* タブレットのみ打ち消し □ ■ □ */
@media only screen and (max-width: 768px) and (min-width: 481px) {
	.u-mt-inhrt-tabOnly {margin-top: inherit !important;}
	.u-mb-inhrt-tabOnly {margin-bottom: inherit !important;}
	.u-ml-inhrt-tabOnly {margin-left: inherit !important;}
	.u-mr-inhrt-tabOnly {margin-right: inherit !important;}
}
/* モバイル以上で打ち消し ■ ■ □ */
@media screen and (min-width: 481px) {
	.u-mt-inhrt-spUp {margin-top: inherit !important;}
	.u-mb-inhrt-spUp {margin-bottom: inherit !important;}
	.u-ml-inhrt-spUp {margin-left: inherit !important;}
	.u-mr-inhrt-spUp {margin-right: inherit !important;}
}
/* モバイルのみ打ち消し □ □ ■ */
@media screen and (max-width: 480px) {
	.u-mt-inhrt-sp {margin-top: inherit !important;}
	.u-mb-inhrt-sp {margin-bottom: inherit !important;}
	.u-ml-inhrt-sp {margin-left: inherit !important;}
	.u-mr-inhrt-sp {margin-right: inherit !important;}
}


/* 要素調整
 * ----------------------------------------- */

/* ブロック要素 */
.section .section-inner .u-dsply-bk { display: block; }
.section .section-inner .u-dsply-il { display: inline; }
.section .section-inner .u-dsply-ilbk { display: inline-block; }
@media screen and (max-width: 768px) {
	.section .section-inner .u-dsply-tab-bk {	display: block;	}
	.section .section-inner .u-dsply-tab-il {	display: inline; 	}
	.section .section-inner .u-dsply-tab-ilbk { display: inline-block; }
}
@media screen and (max-width: 480px) {
	.section .section-inner .u-dsply-sp-bk { display: block; }
	.section .section-inner .u-dsply-sp-il { display: inline; }
	.section .section-inner .u-dsply-sp-ilbk { display: inline-block; }
}

/* ----- 要素を消したいとき ----- */
/* PCのみ消す ■ □ □ */
@media screen and (min-width: 769px) {
	.u-dsply-pc-none {display: none !important;}
}
/* タブレット以下で消す □ ■ ■ */
@media screen and (max-width: 768px) {
	.u-dsply-tab-none {display: none !important;}
}
/* タブレットのみ消す □ ■ □ */
@media only screen and (max-width: 768px) and (min-width: 481px) {
	.u-dsply-tabOnly-none {display: none !important;}
}
/* モバイル以上で消す ■ ■ □ */
@media screen and (min-width: 481px) {
	.u-dsply-spUp-none {display: none !important;}
}
/* モバイルのみ消す □ □ ■ */
@media screen and (max-width: 480px) {
	.u-dsply-sp-none {display: none !important;}
}


/* 折り返したくないとき */
.u-nowrap {
	white-space: nowrap; }

/* リンク無効化 */
.p-link__disabled {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}

/* 擬似要素 打ち消し */
.u-contentB-none:before,
.u-contentA-none:after {
	content: none !important;
}

/* 装飾なし */
.section-inner.u-w-1100 .u-td-none {
	text-decoration: none;
}
/* 装飾あり（アンダーライン） */
.section-inner.u-w-1100 .u-td-ul {
	text-decoration: underline;
}

/* ボックスシャドウ */
.u-boxShadow {
	box-shadow: 0 2px 4px rgba(0,0,0,0.3);
	transition: .5s;
}
.u-boxShadow:hover {
	box-shadow: 0 0 2px rgba(0,0,0,0.2);
}

/* シンプルな下矢印 */
.u-arrow_under {
	box-sizing: border-box;
	width: 50px;
	height: 50px;
	border-left: 72px solid transparent;
	border-right: 72px solid transparent;
	border-top: 50px solid #a30b1a;
}

/* アイコン */
.conversion a[href$="icon-DL"]::before {
	background-position: -25px -26px !important;
}

/* float式 2カラム */
.u-f-clearfix:after {
	content:"";
	clear:both;
	display: block;
}
.u-f-l {
	float:left;
}
.u-f-r {
	float:right;
}

/* 関連情報(リンク) */
.p-relatedLabel {
	min-width: 304px!important;
	padding: 10px 4px;
	color: #fff;
	text-align: center;
	line-height: 1.2;
	background: #706f67;
	display:inline-block;
}
