@charset "utf-8";
/* CSS Document */


/*
 * Web font - base settings
 * ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');


/*
 * General CSS
 * ========================================================================== */
html {
	overflow-y: scroll;
	color: #333;
	font-family: "游明朝体", YuMincho, "游明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 62.5%;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-text-size-adjust: 100%;
	-webkit-print-color-adjust: exact;
	word-break: break-all;
}

body {
	background: url("../images/bg_sakura.webp") no-repeat center top;
	background-size: contain;
}

/*
 * Basic section
 * ------------------------------------------------ */
section {
	margin-bottom: 64px;
}

section .inner_section {
	padding: 0 30px;
}

section section {
	margin-bottom: 48px;
}

/*
 * Basic image
 * ------------------------------------------------ */
img {
	display: block;
	max-width: 100%;
	height: auto;
}


/*
 * Basic text
 * ------------------------------------------------ */
p {
	margin-bottom: 2.4rem;
	font-size: 1.6rem;
	line-height: 2.4rem;
}

a {
	color: #32417b;
	text-decoration: underline;
	transition: all 500ms 0s ease;
}

a:hover {
	color: #de4a36;
}


/*
 * break point control CSS
 * ------------------------------------------------ */
.hide_sp,
.show_pc,
.show_tab,
.break_pc,
.break_tab {
	display: none!important;
}

.show_sp {
	display: block!important;
}

.break_sp,
.show_sp_inline {
	display: inline!important;
}


/*
 * Header-footer
 * ========================================================================== */

/*
 * header
 * ------------------------------------------------ */
header {
	margin-bottom: 48px;
}

header .inner_header {
	padding: 16px 30px;
}

header img {
	width: auto;
	height: 48px;
}


/*
 * footer
 * ------------------------------------------------ */
footer {
	padding: 20px 30px 40px;
	background: #808080;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.2rem;
	text-align: center;
}


/*
 * JS elements
 * ========================================================================== */
#totop {
	position: fixed;
	bottom: 30px;
	right: 30px;
}

#totop a,
#totop img {
	display: block;
	width: 48px;
	height: 48px;
}



/*
 * hero
 * ========================================================================== */
.hero {
	margin-bottom: 64px;
	padding: 0 30px;
}

.hero .photo_box {
	margin-bottom: 24px;
}

.hero .photo_box img {
	margin: 0 auto;
}

.hero .text_box b {
	display: block;
	margin-bottom: 24px;
}

.hero .text_box p {}


/*
 * signature
 * ------------------------------------------------ */
.hero .text_box .signature {
	display: flex;
	justify-content: center;
}

.hero .text_box .signature .lawyer {
	display: flex;
	flex-direction: column;
	align-content: flex-end;
	align-items: flex-end;
	margin-bottom: 24px;
}

.hero .text_box .signature .lawyer_title {
	display: block;
	margin-bottom: 8px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.2rem;
}

.hero .text_box .signature .lawyer_name {
	display: block;
	margin-bottom: 6px;
	font-size: 2.4rem;
	font-weight: bold;
}

.hero .text_box .signature .ruby_name {
	display: block;
	margin-bottom: 8px;
	font-size: 1rem;
	text-align: right;
}


/*
 * Tel/FAX/to access
 * ------------------------------------------------ */
.hero .text_box .address {
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
}

.hero .text_box .address strong {
	display: block;
	margin-bottom: 8px;
	font-size: 1.8rem;
	line-height: 2.4rem;
}

.hero .text_box .address .tel_no {
	display: block;
	margin-bottom: 8px;
	font-size: 2.8rem;
	line-height: 3.6rem;
}

.hero .text_box .address .open_time {
	display: block;
	margin-bottom: 24px;
	font-size: 1.6rem;
}

.hero .text_box .address .button_area {
	display: flex;
	justify-content: center;
}

.hero .text_box .address .button_area a {
	display: block;
	padding: 8px 16px;
	border-radius: 24px;
	background: #faa5af;
	color: #fff;
	font-size: 1.6rem;
	text-decoration: none;
}



/*
 * Main contents
 * ========================================================================== */
h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 24px;
	padding-bottom: 8px;
	border-bottom: solid 1px #888;
	font-size: 1.6rem;
}

h2 .en {
	display: block;
	margin-bottom: 8px;
	font-size: 4rem;
	color: #e37d81;
}

ol,
ul {
	padding-left: 20px;
	font-size: 1.6rem;
	line-height: 2.4rem;
}

ol li,
ul li {
	margin-bottom: 14px;
}



/*
 * career
 * -------------------------------------------------------------------------- */
.carrer ul b {
	display: block;
	font-weight: normal;
}

/*
 * specialty field
 * -------------------------------------------------------------------------- */
.field h3 {
	margin-bottom: 14px;
	font-size: 2.2rem;
}

.field ol {
	list-style: none;
	margin-bottom: 48px;
	padding-left: 0;
}

.field ol li {
	padding-left: 2.5rem;
	text-indent: -2.5rem;
}



/*
 * profile
 * -------------------------------------------------------------------------- */
.profile h3 {
	margin-bottom: 16px;
	font-size: 2.8rem;
}

.profile p {
	text-indent: 1em;
}


/*
 * private
 * -------------------------------------------------------------------------- */
.private p {
	text-indent: 1em;
}

.private .photo_box img {
	margin: 0 auto 24px;
}


/*
 * office access
 * -------------------------------------------------------------------------- */
.access h3 {
	margin-bottom: 16px;
	font-size: 2.8rem;
}

.access .office_address {
	margin-bottom: 24px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	line-height: 2.4rem;
}

.access .route {
	margin-bottom: 48px;
	font-family: "Noto Sans JP", sans-serif;
}

.access .route b {
	display: block;
	margin-bottom: 16px;
	font-size: 1.8rem;
	font-weight: bold;
}

.access .route ul li {
	margin-bottom: 8px;
	font-size: 1.6rem;
	line-height: 2.4rem;
}

.access .photo_box ul.items {
	list-style: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 48px;
	padding: 0;
}

.access .photo_box ul.items li {
	margin-bottom: 24px;
}

.access .photo_box ul.items li img {
	margin-bottom: 8px;
}

.access .photo_box ul.items li span {
	display: block;
	font-size: 1.4rem;
}

.access .accessmap iframe {
	max-width: 100%;
}

.access .accessmap .route_guide {
	margin-top: 24px;
}
.access .accessmap .route_guide h4 {
	margin-bottom: 8px;
	font-size: 1.6rem;
	font-weight: bold;
}

.access .accessmap .route_guide p {
	font-size: 1.4rem;
	line-height: 1.8rem;
}
