@charset "utf-8";

/* ****************************************************************** 

	--common.css--
	
	0. BoxModel change

	1. Common setting
		1-1. Reset styles
		1-2. BoxModel styles
		1-3. Text styles
		1-4. Heading styles
		1-5. Button styles
		1-6. TextLink styles
		1-7. Table styles
		1-8. Form styles
		1-9. Other styles
		1-99. VisualFormattingModel styles

	99. SP

****************************************************************** */

/*==================================================================
	0. BoxModel change
===================================================================*/
*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/*==================================================================
	1. Common setting
===================================================================*/
/* ------------------------------------------------------------------
	1-1. Reset styles
-------------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,figure { 
	margin: 0;
	padding: 0;
}
fieldset { 
	border: 0;
}
img { 
	border-style: none;
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
ol,ul {
	list-style: none;
}
caption {
	text-align: left;
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}
q:before,q:after {
	content: '';
}
abbr,acronym { 
	border: 0;
}
table {
	width: 100%;
}

/* ------------------------------------------------------------------
	1-2. BoxModel styles
-------------------------------------------------------------------*/
.pt_00 { padding-top: 0 !important;}
.pt_10 { padding-top: 10px !important;}
.pt_20 { padding-top: 20px !important;}
.pt_30 { padding-top: 30px !important;}
.pt_40 { padding-top: 40px !important;}
.pt_50 { padding-top: 50px !important;}
.pb_00 { padding-bottom: 0 !important;}
.pb_10 { padding-bottom: 10px !important;}
.pb_20 { padding-bottom: 20px !important;}
.pb_30 { padding-bottom: 30px !important;}
.pb_40 { padding-bottom: 40px !important;}
.pb_50 { padding-bottom: 50px !important;}
.mt_00 { margin-top: 0 !important;}
.mt_10 { margin-top: 10px !important;}
.mt_20 { margin-top: 20px !important;}
.mt_30 { margin-top: 30px !important;}
.mt_40 { margin-top: 40px !important;}
.mt_50 { margin-top: 50px !important;}
.mb_00 { margin-bottom: 0 !important;}
.mb_10 { margin-bottom: 10px !important;}
.mb_20 { margin-bottom: 20px !important;}
.mb_30 { margin-bottom: 30px !important;}
.mb_40 { margin-bottom: 40px !important;}
.mb_50 { margin-bottom: 50px !important;}
.mb_60 { margin-bottom: 60px !important;}
.mb_70 { margin-bottom: 70px !important;}
.mb_80 { margin-bottom: 80px !important;}

.bg_gray { background: #F7F7F7;}

.align_left { text-align: left;}
.align_right { text-align: right;}
.align_center { text-align: center;}

/* ------------------------------------------------------------------
	1-3. Text styles
-------------------------------------------------------------------*/
.f14 { font-size: 14px;}
.f20 { font-size: 20px;}
.lh20 { line-height: 2;}
.f_wight_300 { font-weight: 300;}

.f_color_base { color: #AA3B83;}/* MAIN_COLOR */
.f_color_sub { color: #003e83;}/* SUB_COLOR */
.f_color_red { color: #FF0000;}
.f_color_yellow { color: #FFFF00;}
.f_color_black { color: #000;}

.f_highlight { background: linear-gradient(transparent 50%, #FFFF00 0%);}



/* ------------------------------------------------------------------
	1-4. Heading styles
-------------------------------------------------------------------*/
.heading {
	font-family: 'Noto Serif JP', serif;
}
/*
.heading a {
	color: inherit;
}
.heading_parts {
	margin-left: auto;
}
*/

/* ------------------------------------
	Heading（type1）
------------------------------------*/
.heading_type_01 {
	margin-bottom: 70px;
}
.heading_type_01 .heading_title {
	text-align: center;
	font-size: 26px;
	font-weight: 400;
}

/* ------------------------------------
	Heading（type2）
------------------------------------*/
.heading_type_02 {
	border: 1px solid #707070;
	padding: 20px;
	margin-bottom: 60px;
}
.heading_type_02 .heading_title {
	text-align: center;
	font-size: 24px;
	font-weight: 400;
}

/* ------------------------------------
	Heading（type3）
------------------------------------*/
.heading_type_03 {
	margin-bottom: 20px;
}
.heading_type_03 .heading_title {
	font-size: 28px;
	/*font-weight: 400;*/
	color: #AA3B83;
}

/* ------------------------------------
	Heading（type4）
------------------------------------*/
.heading_type_04 {
	margin-bottom: 10px;
}
.heading_type_04 .heading_title {
	font-size: 22px;
	/*font-weight: 400;*/
}

/* ------------------------------------------------------------------
	1-5. Button styles
-------------------------------------------------------------------*/
.contents_btn {
	padding: 60px 0;
}
.contents_btn_link {
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-size: 18px;
}
.contents_btn_link a {
	border: 1px solid #1D1D1D;
	border-radius: 50px;
	display: block;
	padding: 18px 0;
	color: inherit;
	transition: .3s;
}
.contents_btn_link a:hover {
	background: #AA3B83;
	border: 1px solid #AA3B83;
	color: #FFF;
}

/* ------------------------------------
	幅可変タイプ
------------------------------------*/
.contents_btn-flex { }
.contents_btn-flex .contents_btn_link a {
	display: inline-block;
	padding: 18px 60px;
}

/* ------------------------------------
	幅固定タイプ
------------------------------------*/
.contents_btn-fix { }
.contents_btn-fix .contents_btn_link a {
	width: 480px;
	margin: 0 auto;
}

/* ------------------------------------
	ボタン（マゼンタ背景）
------------------------------------*/
.contents_btn_link_type_02 {
	text-align: left;
}
.contents_btn_link_type_02 a {
	background: #AA3B83;
	border: 1px solid #AA3B83;
	color: #FFF;
}
.contents_btn_link_type_02 a:hover {
	background: #FFF;
	color: #AA3B83;
}

/* ------------------------------------------------------------------
	1-6. TextLink styles
-------------------------------------------------------------------*/
/*
.contents_text_link a { }
.contents_text_link a:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f054";
	margin-left: 10px;
}
*/

/* ------------------------------------------------------------------
	1-7. Table styles
-------------------------------------------------------------------*/
.th_col2 {
	width: 50%;
}
.th_col3 {
	width: 33.3%;
}
.th_col4 {
	width: 25%;
}
.th_col5 {
	width: 20%;
}
.th_col6 {
	width: 16.7%;
}
.th_col7 {
	width: 14.3%;
}
.th_col8 {
	width: 12.5%;
}
.th_col9 {
	width: 11.1%;
}
.th_col10 {
	width: 10%;
}

/* ------------------------------------------------------------------
	1-8. Form styles
-------------------------------------------------------------------*/
input[type="text"],
input[type="email"],
input[type="password"],
select,
textarea{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	font-family: inherit;
	vertical-align: middle;
}
select::-ms-expand {
	display: none;
}
/*
input[type="submit"]{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	font-family: inherit;
	line-height: inherit;
	cursor: pointer;
}
*/
button{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	cursor: pointer;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
	transition: all 0.5s;
}

/*-------------------------------*/
/*	オートフィル時の背景色を無効に
/*-------------------------------*/
input:-webkit-autofill {
	/* 色はinput要素の背景色（ここでは#fff）にそろえる */
	box-shadow: 0 0 0px 999px #FFF inset;
}

/*-------------------------------*/
/*	placeholder
/*-------------------------------*/
input::-webkit-input-placeholder {
	color: #acacac;
}
input::-moz-placeholder {
	color: #acacac;
	opacity: 1;
}
input:-ms-input-placeholder {
	color: #acacac;
}

/* ------------------------------------------------------------------
	1-9. Other styles
-------------------------------------------------------------------*/
/*-------------------------------*/
/*	Breadcrumb
/*-------------------------------*/
.breadcrumb {
	width: 1040px;
	margin: 0 auto 100px auto;
	padding-top: 30px;
}
.breadcrumb ul {
	display: flex;
}
.breadcrumb li {
	white-space: nowrap;
	font-size: 14px;
	font-weight: 300;
}
.breadcrumb li:not(:first-child):before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f105";
	margin: 0 5px;
}
.breadcrumb li:last-child {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
.breadcrumb a {
	color: inherit;
}

/* ------------------------------------------------------------------
	1-99. VisualFormattingModel styles
-------------------------------------------------------------------*/
.pc_block {
	display: block !important;
}
.pc_inline {
	display: inline !important;
}
.sp_block {
	display: none !important;
}
.sp_inline {
	display: none !important;
}

/* ------------------------------------
	CLEARFIX
------------------------------------*/
.mv_box:after,
.cf:after {
	content: "";
	display: block;
	clear: both;
}









/*==================================================================
	99 SP
===================================================================*/

@media only screen and (max-width: 640px) {

/*==================================================================
	1. Common setting
===================================================================*/
/* ------------------------------------------------------------------
	1-2. BoxModel styles
-------------------------------------------------------------------*/
.pt_10 { padding-top: 1.56vw !important;}
.pt_20 { padding-top: 3.13vw !important;}
.pt_30 { padding-top: 4.69vw !important;}
.pt_40 { padding-top: 6.25vw !important;}
.pt_50 { padding-top: 7.81vw !important;}
.pb_10 { padding-bottom: 1.56vw !important;}
.pb_20 { padding-bottom: 3.13vw !important;}
.pb_30 { padding-bottom: 4.69vw !important;}
.pb_40 { padding-bottom: 6.25vw !important;}
.pb_50 { padding-bottom: 7.81vw !important;}
.mt_10 { margin-top: 1.56vw !important;}
.mt_20 { margin-top: 3.13vw !important;}
.mt_30 { margin-top: 4.69vw !important;}
.mt_40 { margin-top: 6.25vw !important;}
.mt_50 { margin-top: 7.81vw !important;}
.mb_10 { margin-bottom: 1.56vw !important;}
.mb_20 { margin-bottom: 3.13vw !important;}
.mb_30 { margin-bottom: 4.69vw !important;}
.mb_40 { margin-bottom: 6.25vw !important;}
.mb_50 { margin-bottom: 7.81vw !important;}
.mb_60 { margin-bottom: 9.38vw !important;}
.mb_70 { margin-bottom: 10.94vw !important;}
.mb_80 { margin-bottom: 12.50vw !important;}

/* ------------------------------------------------------------------
	1-3. Text styles
-------------------------------------------------------------------*/
.f14 { font-size: 2.19vw;}
	
/* ------------------------------------------------------------------
	1-4. Heading styles
-------------------------------------------------------------------*/
/* ------------------------------------
	Heading（type1）
------------------------------------*/
.heading_type_01 {
margin-bottom: 8%;
}
.heading_type_01 .heading_title {
text-align: left;
font-size: 4.38vw;
}
	
/* ------------------------------------
	Heading（type2）
------------------------------------*/
.heading_type_02 {
padding: 4%;
margin-bottom: 8%;
}
.heading_type_02 .heading_title {
font-size: 3.75vw;
}
	
/* ------------------------------------
	Heading（type3）
------------------------------------*/
.heading_type_03 {
margin-bottom: 5%;
}
.heading_type_03 .heading_title {
font-size: 4.38vw;
}

/* ------------------------------------
	Heading（type4）
------------------------------------*/
.heading_type_04 {
margin-bottom: 3%;
}
.heading_type_04 .heading_title {
font-size: 3.44vw;
}

/* ------------------------------------------------------------------
	1-5. Button styles
-------------------------------------------------------------------*/
.contents_btn {
padding: 10% 0;
}
.contents_btn_link {
font-size: 3.75vw;
}
.contents_btn_link a {
padding: 4% 0;
}

/* ------------------------------------
	幅可変タイプ
------------------------------------*/
.contents_btn-flex { }
.contents_btn-flex .contents_btn_link a {
padding: 5% 10%;
}

/* ------------------------------------
	幅固定タイプ
------------------------------------*/
.contents_btn-fix { }
.contents_btn-fix .contents_btn_link a {
width: 80vw;
}

/* ------------------------------------------------------------------
	1-9. Other styles
-------------------------------------------------------------------*/
/*-------------------------------*/
/*	Breadcrumb
/*-------------------------------*/
.breadcrumb {
width: 90%;
margin: 0 auto 5% auto;
padding-top: 3%;
}
.breadcrumb li {
font-size: 2.19vw;
}

/* ------------------------------------------------------------------
	1-99. VisualFormattingModel styles
-------------------------------------------------------------------*/
.pc_block {
	display: none !important;
}
.pc_inline {
	display: none !important;
}
.sp_block {
	display: block !important;
}
.sp_inline {
	display: inline-block !important;
}



}










